Jeff Hollingsworth

Jeffrey K. Hollingsworth is a Professor and Associate Chair of the Computer Science Department at the University of Maryland, College Park. He also has an appointment in the University of Maryland Institute for Advanced Computer Studies and the Electrical and Computer Engineering Department. He received his PhD and MS degrees in computer sciences from the University of Wisconsin. He received a B.S. in Electrical Engineering from the University of California at Berkeley. He joined the faculty of the University of Maryland in 1994.
Dr. Hollingsworth’s research seeks to develop a unified framework to understand and optimize the performance of large systems and focuses in several areas. First, he developed new approach, called dynamic instrumentation, to permit the efficient measurement of large parallel applications. Second, he has developed an auto-tuning framework called Active Harmony that can be used to tune kernels, libraries, or full applications. Third, he is investigating the interactions between different layers of software and hardware to understand how they influence performance and how to map data between these layers of abstraction.
He has served on the board of directors of the Computing Research Association. He is Editor in chief of the journal Parallel Computing, and is the general chair of the SC12 conference (the largest HPC conference in the world with over 10,000 attendees).
Publications
2008
2008. Understanding the high-performance-computing community: A software engineer's perspective. Software, IEEE. 25(4):29-36.
2008. Hardware monitors for dynamic page migration. Journal of Parallel and Distributed Computing. 68(9):1186-1200.
2008. Understanding the High-Performance-Computing Community: A Software Engineer's Perspective. Software, IEEE. 25(4):29-36.
2008. Understanding the High-Performance-Computing Community: A Software Engineer's Perspective. IEEE Software. 25(4):29-36.
2007
2007. Performance Measurement of Novice HPC Programmers Code. Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing Applications. :3–-3–.
2007. Automatic software interference detection in parallel applications. Proceedings of the 2007 ACM/IEEE conference on Supercomputing. :14:1–14:12-14:1–14:12.
2006
2006. Experiments to understand HPC time to development. CTWatch Quarterly.
2006. Experiments to understand HPC time to development. CTWatch Quarterly. 2(4A)
2006. A New Hardware Monitor Design to Measure Data Structure-Specific Cache Eviction Information. International Journal of High Performance Computing Applications. 20(3):353-363.
2005
2005. Using Dynamic Tracing Sampling to Measure Long Running Programs. Proceedings of the 2005 ACM/IEEE conference on Supercomputing. :59–-59–.
2005. Combining self-reported and automatic data to improve programming effort measurement. Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering. :356-365.
2005. Generating testable hypotheses from tacit knowledge for high productivity computing. Proceedings of the second international workshop on Software engineering for high performance computing system applications. :17-21.
2005. Measuring productivity on high performance computers. 11th IEEE International Symposium on Software Metric.
2005. Recovering system specific rules from software repositories. SIGSOFT Softw. Eng. Notes. 30(4):1-5.
2005. Combining self-reported and automatic data to improve programming effort measurement. Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering. :356-365.
2005. EMPS: an environment for memory performance studies. Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International.
2005. Generating testable hypotheses from tacit knowledge for high productivity computing. Proceedings of the second international workshop on Software engineering for high performance computing system applications. :17-21.
2005. Efficient online computation of statement coverage. Journal of Systems and Software. 78(2):146-165.
2005. Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques. IEEE Transactions on Software Engineering. 31(6):466-480.
2005. Parallel Parameter Tuning for Applications with Performance Variability. Proceedings of the 2005 ACM/IEEE conference on Supercomputing. :57–-57–.
2004
2004. Unobtrusiveness and efficiency in idle cycle stealing for PC grids. Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International.
2004. Interactive binary instrumentation. Second International Workshop on Remote Analysis and Measurement of Software Systems (RAMSS).
2004. Running on the bare metal with GeekOS. Proceedings of the 35th SIGCSE technical symposium on Computer science education. :315-319.
2004. Using Hardware Counters to Automatically Improve Memory Performance. Proceedings of the 2004 ACM/IEEE conference on Supercomputing. :46–-46–.
2004. Challenges in Measuring HPCS Learner Productivity in an Age of Ubiquitous Computing: The HPCS Program. In Proceedings of ICSE Workshop on High Productivity Computing. May 2004.
2004. Running on the bare metal with GeekOS. Proceedings of the 35th SIGCSE technical symposium on Computer science education. :315-319.
2004. Data Centric Cache Measurement on the Intel ltanium 2 Processor. Proceedings of the 2004 ACM/IEEE conference on Supercomputing. :58–-58–.
2004. Studying code development for high performance computing: the HPCS program. First International Workshop On Software Engineering for High Performance Computing System Applications. :32-32.
2004. Automated cluster-based Web service performance tuning. 13th IEEE International Symposium on High performance Distributed Computing, 2004. Proceedings. :36-44.
2004. Bug driven bug finders. Proceedings of the International Workshop on Mining Software Repositories. :70-74.
2004. Resource policing to support fine-grain cycle stealing in networks of workstations. IEEE Transactions on Parallel and Distributed Systems. 15(10):878-892.
2002
2002. Recompilation for debugging support in a JIT-compiler. Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering. :10-17.
2002. SIGMA: A Simulator Infrastructure to Guide Memory Analysis. SC Conference. :1-1.
2002. Active Harmony: Towards Automated Performance Tuning. Supercomputing, ACM/IEEE 2002 Conference. :44-44.
2002. Efficient instrumentation for code coverage testing. ACM SIGSOFT Software Engineering Notes. 27:86-96.
2001
2001. A tool to help tune where computation is performed. IEEE Transactions on Software Engineering. 27(7):618-629.
2001. Efficient network and I/O throttling for fine-grain cycle stealing. Proceedings of the 2001 ACM/IEEE conference on Supercomputing (CDROM) - Supercomputing '01. :3-3.
2001. Achieving Efficiency and Accuracy in Simulation for I/O-Intensive Applications. Journal of Parallel and Distributed Computing. 61(12):1732-1750.
2000
2000. Resource-aware meta-computing. Emphasizing Distributed SystemsEmphasizing Distributed Systems. Volume 53:109-169.
2000. An API for Runtime Code Patching. International Journal of High Performance Computing Applications. 14(4):317-329.
2000. Speed vs. Accuracy in Simulation for I/O-Intensive Applications. Parallel and Distributed Processing Symposium, International. :315-315.
2000. Exploiting fine-grained idle periods in networks of workstations. IEEE Transactions on Parallel and Distributed Systems. 11(7):683-698.
2000. Efficient performance prediction for large-scale, data-intensive applications. International Journal of High Performance Computing Applications. 14(3):216-216.
2000. Using hardware performance monitors to isolate memory bottlenecks. Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM). :40-40.
1999
1999. Imprecise Calendars: an Approach to Scheduling Computational Grids. Distributed Computing Systems, International Conference on. :0352-0352.
1999. Exposing Application Alternatives. Distributed Computing Systems, International Conference on. :0384-0384.
1999. Binary version management for computational grids. Parallel processing letters. 9(2):215-225.
1998
1998. Critical path profiling of message passing and shared-memory programs. IEEE Transactions on Parallel and Distributed Systems. 9(10):1029-1040.
1998. Modeling and evaluating design alternatives for an on-line instrumentation system: a case study. IEEE Transactions on Software Engineering. 24(6):451-470.
1998. Instrumentation and measurement. The grid. :339-365.
1998. Performance measurement using low perturbation and high precision hardware assists. , The 19th IEEE Real-Time Systems Symposium, 1998. Proceedings. :379-388.
1998. Benchmarking a network of PCs running parallel applications. Performance, Computing and Communications, 1998. IPCCC '98., IEEE International. :1-7.
1998. Prediction and Adaptation in Active Harmony. High-Performance Distributed Computing, International Symposium on. :180-180.
1998. Linger longer: Fine-grain cycle stealing for networks of workstations. Proceedings of the 1998 ACM/IEEE Conference on Supercomputing (CDROM). :1-12.
1998. LBF: a performance metric for program reorganization. 18th International Conference on Distributed Computing Systems, 1998. Proceedings. :222-229.
1997
1997. Using content-derived names for configuration management. ACM SIGSOFT Software Engineering Notes. 22(3):104-109.
1997. MDL: a language and compiler for dynamic program instrumentation. , 1997 International Conference on Parallel Architectures and Compilation Techniques., 1997. Proceedings. :201-212.
1996
1996. Modeling, Evaluation, and Testing of Paradyn Instrumentation System. Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, 1996. :18-18.
1996. An online computation of critical path profiling. Proceedings of the SIGMETRICS symposium on Parallel and distributed tools. :11-20.
1996. Tuning the performance of I/O-intensive parallel applications. Proceedings of the fourth workshop on I/O in parallel and distributed systems: part of the federated computing research conference. :15-27.
1996. An adaptive cost system for parallel program instrumentation. Euro-Par'96 Parallel Processing. :88-97.
1995
1995. Techniques for performance measurement of parallel programs. Parallel computers: theory and practice. :225-240.
1995. The Paradyn parallel performance measurement tool. Computer. 28(11):37-46.
1994
1994. Dynamic program instrumentation for scalable performance tools. Scalable High-Performance Computing Conference, 1994., Proceedings of the. :841-850.
1993
1993. Dynamic control of performance monitoring on large scale parallel systems. Proceedings of the 7th international conference on Supercomputing - ICS '93. :185-194.
1992
1992. Parallel program performance metrics: a comprison and validation. Proceedings of the 1992 ACM/IEEE conference on Supercomputing. :4-13.
1991
1991. The integration of application and system based metrics in a parallel program performance tool. ACM Sigplan Notices. 26:189-200.
1990
1990. IPS-2: the second generation of a parallel program measurement system. IEEE Transactions on Parallel and Distributed Systems. 1(2):206-217.
