Patrick Crowley
pcrowley AT wustl.edu

Photo of Patrick Crowley. Contact Information
Department of Computer Science & Engineering
Campus Box 1045
Washington University
One Brookings Drive
St. Louis, MO  63130-4899

Voice: (314) 935-9186
Fax: (314) 935-7302
Office: 522C Bryan Hall

OpenPGP-compatible public key

@p_crowley at Twitter

I am a professor of Computer Science and Engineering at Washington University where I direct the Applied Research Laboratory (ARL).  I am also founder and CTO of Observable Networks, where we use endpoint modeling to secure and monitor enterprise networks and critical infrastructure. While my interests span several areas of computer systems and networking, my current research projects focus on the design and implementation of fast programmable networking systems and security. I consider it a luxury that my work  involves several levels of abstraction in systems (hardware, platforms, software and services) and applies to two important application areas (scalable networking and network security). 

Pointers

Teaching

Current Research

Recent & Notable Events:


Overview My current research projects focus on the design and implementation of fast programmable networking systems and security.
Publications
  • "Named Data Networking." Lixia Zhang, Alexander Afanasyev, Jeffrey Burke, Van Jacobson, kc claffy, Patrick Crowley, Christos Papadopoulos, Lan Wang, and Beichuan Zhang. SIGCOMM Comput. Commun. Rev. 44, 3 (July 2014), 66-73.
  • "Scalable Pending Interest Table design: From Principles to Practice," Haowei Yuan and Patrick Crowley. In Proceedings of the 33rd IEEE Conference on Computer Communications (INFOCOM 2014), pages 2049-2057, Toronto, Canada, April 2014.
  • "iSync: A High Performance and Scalable Data Synchronization Protocol for Named Data Networking." Wenliang Fu, Hila Ben Abraham and Patrick Crowley. In Proc. of the ACM International Conference on Information-Centric Networking (ICN '14), pages 181-182, Paris, France, September 2014.
  • "Author retrospective for characterizing processor architectures for programmable network interfaces." Patrick Crowley. In 25th Anniversary International Conference on Supercomputing Anniversary Volume , Utpal Banerjee (Ed.). ACM, New York, NY, USA, pages 54-55, 2014.
  • “Performance measurement of the CCNx synchronization protocol. ”Hila Ben Abraham and Patrick Crowley. In Proceedings of the 9th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), San Jose, CA, October 2013.
  • “K-p0f: a high-throughput kernel passive OS fingerprinter. ”Jason Barnes and Patrick Crowley. In Proceedings of the 9th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), San Jose, CA, October 2013.
  • “Experimental analyses of data distribution on data center networks ” Shakir James and Patrick Crowley. In 2013 IEEE Thirteenth International Conference on Peer-\ to-Peer Computing (P2P), Trento, Italy, September 2013.
  • “Experimental Evaluation of Content Distribution with NDN and HTTP ”Haowei Yuan and Patrick Crowley. In Proceedings of the 32nd IEEE Conference on Computer C\ ommunications (INFOCOM 2013), Turin, Italy, April 2013.
  • “A-DFA: a Low-complexity Compression Algorithm for Efficient Regular Expression Evaluation.” Michela Becchi and Patrick Crowley. In ACM Transactions on Architecture and Code Optimization (TACO), Volume 10, Issue 1, April 2013.
  • “Scalable NDN Forwarding: Concepts, Issues and Principles,” Haowei Yuan, Tian Song and Patrick Crowley. In Proceedings of the 21st International Conference on Computer Communications and Networks (ICCCN), Munich, Germany, July 2012. Best Paper Award.
  • “Performance Analysis of Packet Capture Methods in a 10 Gbps Virtualized Environment,” Michael Schultz and Patrick Crowley. In Proceedings of the 21st International Conference on Computer Communications and Networks (ICCCN), Munich, Germany, July 2012.
  • “Threats, Advanced Threats, and Information Asymmetry.” Patrick Crowley. In The ISSA Journal, Vol. 10, March 2012.
  • P. Barry, P. Crowley. Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems. Morgan Kaufmann Publishers, San Francisco, CA. Feb, 2012.
  • “A Passive Network Appliance for Real-Time Network Monitoring,” Michael J. Schultz, Ben Wun and Patrick Crowley. In Proceedings of the 7th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '11), Brooklyn, NY, October 2011.
  • “Performance Measurement of Name-Centric Content Distribution Methods,” Haowei Yuan and Patrick Crowley. In Proceedings of the 7th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '11), Brooklyn, NY, October 2011.
  • “A Dynamically Adapting Network Programming Framework,” Benjamin Wun, Mike Wilson and Patrick Crowley. In Proceedings of the 7th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '11), Brooklyn, NY, October 2011.
  • “Fast Content Distribution on Datacenter Networks,” Shakir James and Patrick Crowley. In Proceedings of the 7th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '11), Brooklyn, NY, October 2011.
  • "Online Identity and Consumer Trust," Allan A. Friedman, Patrick Crowley and Darrell M. West. Center for Technology Innovation. The Brookings Institution. January 11, 2011. (Panel event info, with transcript)
  • "IMP: ISP-Managed P2P," Shakir James and Patrick Crowley. In Proceedings of the 2010 IEEE International Conference on Peer-to-Peer Computing (P2P), Delft, Netherlands, August 2010.
  • “Software-based implementations of updateable data structures for high-speed URL matching.” Haowei Yuan, Benjamin Wun, and Patrick Crowley. In Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '10), La Jolla, CA, October 2010.
  • “TnT: transparent network tracker for P2P applications.” Shakir James and Patrick Crowley. In Proceedings of the 6th ACM/IEEE Symposium on Architectures for Net-working and Communications Systems (ANCS '10), La Jolla, CA, October 2010.
  • "Named Data Networking (NDN) Project," Zhang, et al. PARC Technical Report NDN-0001, October 2010. http://www.named-data.net/ndn-proj.pdf.
  • "Evaluating Regular Expression Matching Engines on Network and General Purpose Processors," Michela Becchi, Charlie Wiseman, and Patrick Crowley. In Proceedings of the 2009 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Princeton, NJ, October, 2009.
  • "ISP Managed Peer-to-Peer," Shakir James and Patrick Crowley. In Proceedings of the 2009 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Princeton, NJ, October, 2009.
  • "Implementing URL-Based Forwarding on a Network Processor-Based Router Platform," Toshiro Yamauchi, Haowei Yuan, and Patrick Crowley. In Proceedings of the 2009 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Princeton, NJ, October, 2009.
  • "Parallelization of Snort on a Multi-Core Platform," Benjamin Wun, Patrick Crowley, and Arun Raghunath. In Proceedings of the 2009 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Princeton, NJ, October, 2009.
  • "Extending Finite Automata to Efficiently Match Perl-Compatible Regular Expressions," Michela Becchi and Patrick Crowley. In Proceedings of the International Conference on emerging Networking EXperiments and Technologies (CoNEXT), Madrid, Spain, December, 2008.
  • "Design of a Portable Router Framework," Benjamin Wun, Patrick Crowley, and Arun Raghunath. In Proceedings of the 2008 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), San Jose, CA, November, 2008.
  • "A Remotely Accessible Network Processor-Based Router for Network Experimentation," Charlie Wiseman, et al., In Proceedings of the 2008 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), San Jose, CA, November, 2008.
  • "Efficient Regular Expression Evaluation: Theory to Practice," Michela Becchi and Patrick Crowley. In Proceedings of the 2008 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), San Jose, CA, November, 2008.
  • "A Workload for Evaluating Deep Packet Inspection Architectures," Michela Becchi, Mark Franklin, and Patrick Crowley. In Proceedings of the 11th IEEE International Symposium on Workload Characterization (IISWC 2008), Seattle, WA, September, 2008.
  • “Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures.” Michela Becchi and Patrick Crowley. The Journal of Instruction-Level Parallelism, vol. 10, June 2008 (http://www.jilp.org/vol10).
  • “Exploiting Locality to Ameliorate Packet Queue Contention and Serialization.” Patrick Crowley, Sailesh Kumar, and John Maschmeyer. The Journal of Instruction-Level Parallelism, vol. 10, June 2008 (http://www.jilp.org/vol10).
  • “The Future in Your Pocket,” Patrick Crowley, ACM SIGCOMM Computer Communication Review, vol. 38, issue 2, (Mar. 2008), pages 61-64.
  • "Peacock Hashing: Deterministic and Updatable Hashing for High Performance Networking," Sailesh Kumar, Jonathan Turner and Patrick Crowley, In IEEE INFOCOM'08, Phoenix, Arizona, April, 2008.
  • "A Hybrid Finite Automaton for Practical Deep Packet Inspection," Michela Becchi and Patrick Crowley. In Proceedings of the International Conference on emerging Networking EXperiments and Technologies (CoNEXT), New York, NY, December, 2007.
  • "An Improved Algorithm to Accelerate Regular Expression Evaluation," Michela Becchi and Patrick Crowley. Proceedings of the 2007 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Orlando, FL, December, 2007.
  • "Application Development on Hybrid Systems," Roger D. Chamberlain, Eric J. Tyson, Saurabh Gayen, Mark A. Franklin, Jeremy Buhler, Patrick Crowley, and James Buckley. In Proceedings of the 2007 Int'l Conf. for High Performance Computing, Networking, Storage, and Analytics (Supercomputing), Reno, NV, November, 2007.
  • "HEXA: Compact Data Structures for Faster Packet Processing," S. Kumar, J. Turner, P. Crowley , M. Mitzenmacher. In Proceedings of IEEE ICNP'07, Beijing, China, October, 2007. 
  • "Supercharging PlanetLab: A High Performance, Multi-Application, Overlay Network Platform," Turner, J. S., Crowley, P., DeHart, J., Freestone, A., Heller, B., Kuhns, F., Kumar, S., Lockwood, J., Lu, J., Wilson, M., Wiseman, C., and Zar, D. In Proceedings of ACM SIGCOMM'07, Kyoto, Japan, September, 2007. 
  • “Performance/Area Efficiency in Chip Multiprocessors with Micro-caches,'' Michela Becchi, Mark Franklin, and Patrick Crowley.  In Proceedings of the 4th ACM Int’l Conference on Computing Frontiers, Ischia, Italy. May, 2007.
  • “CAMP: Fast and Efficient IP Lookup Architecture,” Sailesh Kumar, Michela Becchi, Patrick Crowley, and Jonathan S. Turner. In Proceedings of the 2006 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), pages 51-60, San Jose, CA, December, 2006.
  • “Algorithms to Accelerate Multiple Regular Expression Matching for Deep Packet Inspection,” Sailesh Kumar, Sarang Dharmapurikar, Fang Yu, Patrick Crowley, and Jonathan S. Turner, In Proceedings of ACM SIGCOMM'06, Pisa, Italy, September, 2006.
  • "Impact of CMP Design on High-Performance Embedded Computing," Patrick Crowley, Mark Franklin, Jeremy Buhler, and Roger Chamberlain, In Proceedings of the High Performance Embedded Computing Workshop (HPEC 2006), MIT Lincoln Laboratory, Lexington, MA. September, 2006.
  • "X-Sim: A Federated Heterogeneous Simulation Environment," Roger Chamberlain, Saurabh Gayen, Eric Tyson, Mark Franklin, and Patrick Crowley, In Proceedings of the High Performance Embedded Computing Workshop (HPEC 2006), MIT Lincoln Laboratory, Lexington, MA. September, 2006.
  • “Network I/O Acceleration in Heterogeneous Multicore Processors,” Ben Wun and Patrick Crowley. In Proceedings of the 14th Annual Symposium on High Performance Interconnects (Hot Interconnects). Palo Alto, CA. August, 2006.
  • “Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures.” Michela Becchi and Patrick Crowley. In Proceedings of the 3rd ACM Int’l Conference on Computing Frontiers, Ischia, Italy. May, 2006.
  • “Exploiting Locality to Ameliorate Packet Queue Contention and Serialization.” Sailesh Kumar and Patrick Crowley. In Proceedings of the 3rd ACM Int’l Conference on Computing Frontiers, Ischia, Italy. May, 2006.
  • “Auto-Pipe and the X Language: A Pipeline Design Tool and Description Language.” Mark Franklin, Eric Tyson, James Buckley, Patrick Crowley, and John Maschmeyer. In Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDPS), Rhodes Island, Greece. April, 2006.
  • “Optimizing Memory Bandwidth of a Multi-Channel Packet Buffer.” Sarang Dharmapurikar, Sailesh Kumar, John Lockwood, and Patrick Crowley. In Proceedings of the 2005 IEEE Global Communications Conference (GLOBECOM), Saint Louis, MO. November, 2005.
  • “Segmented Hash: An Efficient Hash Table Implementation for High-Performance Networking Subsystems.” Sailesh Kumar and Patrick Crowley. In Proceedings of the 2005 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS). Princeton, N.J. October, 2005.
  • “Exploiting Coarse-Grained Parallelism to Accelerate Protein Motif Finding with a Network Processor.” Ben Wun, Jeremy Buhler, and Patrick Crowley. In Proceedings of the 2005 International Conference on Parallel Architectures and Compilation Techniques (PACT). Saint Louis, MO. September, 2005.
  • “Application Development for Hybrid Pipelined Systems,” Mark A. Franklin, Patrick Crowley, Roger D. Chamberlain, Jeremy Buhler, and James H. Buckley.  In Proceedings of the High Performance Embedded Computing Workshop (HPEC 2005), MIT Lincoln Laboratory, Lexington, MA. September, 2005.
  • “Design of Randomized Multichannel Packet Storage for High Performance Routers.” Jonathan Turner, Patrick Crowley, and Sailesh Kumar. In Proceedings of the 13th Annual Symposium on High Performance Interconnects (Hot Interconnects). Palo Alto, CA. August, 2005.
  • “Addressing Queuing Bottlenecks at High Speeds.” Sailesh Kumar, Jonathan Turner, and Patrick Crowley. In Proceedings of the 13th Annual Symposium on High Performance Interconnects (Hot Interconnects). Palo Alto, CA. August, 2005.
  • “A Scalable, Cache-Based Queue Management Subsystem for Network Processors.” Sailesh Kumar and Patrick Crowley. In Proceedings of the ASPLOS-XI Workshop on Building Block Engine Architectures for Computers and Networks(BEACON). Boston, MA. October, 2004.
  • “Supporting Mixed Real-Time Workloads in Multithreaded Processors with Segmented Instruction Caches.” Patrick Crowley. In Proceedings of the HPCA-10 Workshop on Network Processors and Applications, pages 1-13. Madrid, Spain. February, 2004.
  • “Memory Hierarchy Design for a Multiprocessor Look-up Engine.” Jean-Loup Baer, Douglas Low, Patrick Crowley and Neal Sidhwaney. In Proceedings of the 2003 International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 206-216. New Orleans, Louisiana. September, 2003.
  •  “Worst-Case Performance Estimation for Hardware-assisted Multithreaded Processors.” Patrick Crowley and Jean-Loup Baer. In Proceedings of the HPCA-9 Workshop on Network Processors, 2003.
  • “A Modeling Framework for Network Processor Systems.” Patrick Crowley and Jean-Loup Baer. In Proceedings of the HPCA-8 Workshop on Network Processors, 2002.
  • “Characterizing Processor Architectures for Programmable Network Interfaces.” Patrick Crowley, Marc E. Fiuczynski, Jean-Loup Baer, and Brian N. Bershad. In Proceedings of the 2000 International Conference on Supercomputing, pages 54-65. Santa Fe, New Mexico. May, 2000.
  •  “Workloads for Programmable Network Interfaces.” Patrick Crowley, Marc E. Fiuczynski, Jean-Loup Baer, and Brian N. Bershad. In Workload Characterization for Computer System Design, chapter 7. Kluwer Academic Publishers, 2000. Early version appeared in Proceedings of the 2nd Annual IEEE Workshop on Workload Characterization, October 1999.
Talks

Recent Research

Trace sampling


Overview Accurate, trace-based architectural simulation can be very expensive in terms of time and (memory) space. Desktop applications (see below) can run for billions and billions of instructions, so efficient simulation techniques are particularly critical for these applications. In this project, we investigated efficient sampling techniques to reduce simulation time.
Papers
  • On the Use of Trace Sampling for Architectural Studies of Desktop Applications.
    Patrick Crowley and Jean-Loup Baer.
    Proceedings of the 1999 SIGMETRICS Conference. May 1999.
    PDF,Postscript,(Poster slides in PDF)
  • Trace Sampling for Desktop Applications on Windows NT.
    Patrick Crowley and Jean-Loup Baer.
    Proceedings of the 1st Annual Workshop on Workload Characterization. Nov 1998.
    Also appears as Chapter 1 in Workload Characterization : Methodology and Case Studies, IEEE Computer Society Press, 1999. (ISBN 0-7695-0452-3)
    PDF,Postscript
  • On the Use of Trace Sampling for Architectural Studies of Desktop Applications.
    Patrick Crowley and Jean-Loup Baer.
    UW Technical Report UW-CSE-1998-12-05.
    PDF,Postscript

Commercial workloads


Overview We gathered user-level traces (instruction and memory) of several commonly used desktop productivity applications (MS Word, Adobe Acrobat, etc.) running on Windows NT and compared them to some of the SPECINT95 applications (perl, gcc, etc.). The traces themselves are available here, and more project information can be found at the memory systems web-site.
Papers
  • Execution Characteristics of Desktop Applications on Windows NT
    Lee, Crowley, Baer, Anderson, Bershad.
    25th  Annual International Symposium on Computer Architecture. June 1998.
    PDF,Postscript
.