Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
funding [2009/07/01 07:44]
pollock
funding [2009/07/01 12:36]
pollock
Line 4: Line 4:
 is funded through research grants and student fellowships. Throughout the years, funding has been provided by: is funded through research grants and student fellowships. Throughout the years, funding has been provided by:
  
-  * NSF - The National Science Foundation  +  * [[http://​www.nsf.gov|NSF - The National Science Foundation]]  
-  * CTA - Army Research Lab Collaborative Technology Alliance +  * [[http://​www.arl.army.mil/​www/​default.cfm?​Action=93|CTA - Army Research Lab Collaborative Technology Alliance]] 
-  * ARL - The Army Research Laboratory +  * [[http://​www.arl.army.mil/​www/​default.htm|ARL - The Army Research Laboratory]] 
-  * CRA-W - The Computing Research Association'​s Committee on the Status of Women in Computing Distributed Mentoring Program (DMP, DREU)+  * [[http://​www.cra-w.org/​dmp|CRA-W - The Computing Research Association'​s Committee on the Status of Women in Computing Distributed Mentoring Program (DMP, DREU)]]
  
  
-====== ​Summaries of Current Research Grants ======+====== Current Research Grants ======
  
-=== NSF 0702401 Applying and Integrating Natural Language Processing Analysis of Programs to Aid in Software Maintenance and Evolution ===+==== NSF 0702401 Applying and Integrating Natural Language Processing Analysis of Programs to Aid in Software Maintenance and Evolution ​====
  
 +//PI: Lori Pollock; Co-PI: Vijay Shanker//
  
 Due to the unprecedented size and complexity of modern software and increased code reuse, between 60-90% of resources are devoted to modifying an application to meet new requirements and to fix discovered bugs. To locate bugs or modify an application,​ developers must identify the high-level idea, or concept, to be changed and then locate, comprehend, and carefully modify the concept s concern, or implementation,​ in the code. Software engineers increasingly rely on available software tools to automate maintenance tasks as much as possible; however, despite all of the available automated support, recent studies have shown that more development time is spent reading, locating, and comprehending code than actually writing code.  Due to the unprecedented size and complexity of modern software and increased code reuse, between 60-90% of resources are devoted to modifying an application to meet new requirements and to fix discovered bugs. To locate bugs or modify an application,​ developers must identify the high-level idea, or concept, to be changed and then locate, comprehend, and carefully modify the concept s concern, or implementation,​ in the code. Software engineers increasingly rely on available software tools to automate maintenance tasks as much as possible; however, despite all of the available automated support, recent studies have shown that more development time is spent reading, locating, and comprehending code than actually writing code. 
Line 32: Line 33:
  
  
 +
 +=== REU Supplements ===
 +
 +03/05/2009 2 Undergraduates
 +
 +11/06/2007 2 Undergraduates
 +
 +==== NSF 0509170 CSR - AES: An Integrated Approach to Improving Communication Performance in Clusters ====
 +
 +//PI: Martin Swany; Co-PI: Lori Pollock//
 +
 +The project will develop an integrated aproach to improving communication performance in clusters. Cluster computing has become a common, cost-effective means of parallel computing. Although adding more CPUs increases the cluster'​s maximum processing power, real applications often can not efficiently use very large numbers of CPUs, due to lack of scalability. In regular codes the main impediment to achieving scalability is the communication overhead which increases as the number of CPUs increases. Most of these optimization methods proposed target specialized hardware or programming languages, and require specialized knowledge from the domain scientist, or are not enough to provide a comprehensive solution on their own, and do not adequately address the challenges of the layers of communication software between the sender processes and the receiver processes. Improved performance overall for these applications,​ it remains largely untapped due to (1) the need for the knowledge of the context of the communication operations to exploit the sophisticated network technology fully, and the (2) the low level nature of programming needed within the application program context to achieve that potential. In particular, performance can often be improved through increasing the use of lightweight asynchronous communication. Unfortunately,​ programming with asynchronous communication is difficult and error prone, even for the most experienced programmers.
 +
 +The project will pursue a vertically integrated approach, where a set of optimizations in the compiler, network and operating system, can enable legacy parallel applications to scale to a much larger number of CPUs, even if written without any knowledge of our techniques. An experimental prototype and preliminary experiments with real scientific applications,​ show that significant performance improvements are possible with a vertically integrated approach where knowledge of the context of communication operations is joined with knowledge of the network and cluster details to provide a fine-grained strategy for overlapping communication and computation. Based on these initial promising results, the overall goal of this proposed research is to create a means for scalable cluster computing through enabling integrated knowledge and cooperation between the source optimizer, operating system, and network technology of the cluster, without relying on the programmer to learn about the low level details of the cluster communications system.
 +
 +==== NSF 0720712 Collaborative:​ CSR-AES: System Support for Auto-tuning MPI Applications ====
 +
 +//PI: Martin Swany; CoPI: Lori Pollock//
 +
 +
 +The AToMS (Automatic Tuning of MPI Software) project is investigating a software system that can automatically improve the performance of large-scale scientific applications. Scientific codes that demand more and more computing resources are critical to modern science, but too often scientists must spend time constructing programs that run fast at the expense of doing their primary research. As computers contain an increasing number of computing elements, the problem worsens. The goal of the AToMS project is to begin to address this issue by applying automatic application tuning.
 +
 +An optimizing compiler transforms programs into sematically equivalent ones that perform better. When dealing with any complicated architecture it is difficult to know which transformations will improve performance. Auto-tuning takes the approach of trying many transformations and empirically evaluating the resulting versions. AToMS performs this auto-tuning with a combination of a static analysis based code transformation engine (called ASPhALT) and runtime support in the OpenMPI library. The combination of compile-time and run-time support allows for code restructuring to overlap computation and communication and the creation of optimized data-packing routines. In addition, code can be generated to take advantage of multicore processor
 +architectures.
 +
 +**Intellectual Merit:** The merit of the proposed pro ject is in gaining understanding about what is required to support automatically tunable MPI programs. Broader Impacts: This project will impact the high-performance and scientific computing community and users of parallel computers by making it easier to achieve good performance. ​
 + 
  
funding.txt · Last modified: 2013/05/03 14:41 by pollock
  • 213 Smith Hall   •   Computer & Information Sciences   •   Newark, DE 19716  •   USA
    Phone: 302-831-6339  •   Fax: 302-831-8458