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).
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.
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.
2007. Performance Measurement of Novice HPC Programmers Code. Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing Applications. :3–-3–.
2006. Experiments to understand HPC time to development. CTWatch Quarterly.
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. 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. Efficient online computation of statement coverage. Journal of Systems and Software. 78(2):146-165.
2005. Parallel Parameter Tuning for Applications with Performance Variability. Proceedings of the 2005 ACM/IEEE conference on Supercomputing. :57–-57–.
2005. Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques. IEEE Transactions on Software Engineering. 31(6):466-480.
2005. Using Dynamic Tracing Sampling to Measure Long Running Programs. Proceedings of the 2005 ACM/IEEE conference on Supercomputing. :59–-59–.
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.
2004. Interactive binary instrumentation. Second International Workshop on Remote Analysis and Measurement of Software Systems (RAMSS).
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. Unobtrusiveness and efficiency in idle cycle stealing for PC grids. Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International.
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. 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. 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. 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.
2000. Speed vs. Accuracy in Simulation for I/O-Intensive Applications. Parallel and Distributed Processing Symposium, International. :315-315.
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.
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. 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. Linger longer: Fine-grain cycle stealing for networks of workstations. Proceedings of the 1998 ACM/IEEE Conference on Supercomputing (CDROM). :1-12.
1998. Prediction and Adaptation in Active Harmony. High-Performance Distributed Computing, International Symposium on. :180-180.
1998. LBF: a performance metric for program reorganization. 18th International Conference on Distributed Computing Systems, 1998. Proceedings. :222-229.
1998. Critical path profiling of message passing and shared-memory programs. IEEE Transactions on Parallel and Distributed Systems. 9(10):1029-1040.
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. 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.
1996. Modeling, Evaluation, and Testing of Paradyn Instrumentation System. Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, 1996. :18-18.
1995. The Paradyn parallel performance measurement tool. Computer. 28(11):37-46.
1995. Techniques for performance measurement of parallel programs. Parallel computers: theory and practice. :225-240.
1994. Dynamic program instrumentation for scalable performance tools. Scalable High-Performance Computing Conference, 1994., Proceedings of the. :841-850.
1993. Dynamic control of performance monitoring on large scale parallel systems. Proceedings of the 7th international conference on Supercomputing - ICS '93. :185-194.
1992. Parallel program performance metrics: a comprison and validation. Proceedings of the 1992 ACM/IEEE conference on Supercomputing. :4-13.
1991. The integration of application and system based metrics in a parallel program performance tool. ACM Sigplan Notices. 26:189-200.
1990. IPS-2: the second generation of a parallel program measurement system. IEEE Transactions on Parallel and Distributed Systems. 1(2):206-217.