NSF Software Systems and Algorithms Budget Code:  
Research emphasizes the development of scalable parallel algorithms and software technologies, and the development of problem solving environments. Areas of research include:
  • Parallel languages and optimizing compilers;
  • Parallel operating systems;
  • Performance evaluation and prediction;
  • High performance systems for numeric and symbolic computations;
  • Parallel algorithms and data structures;
  • Algorithms for biological applications;
  • Problem solving environments;
  • Software engineering;
  • Computer graphics;
  • Computational geometry; and
  • Real-time systems.
In addition, a significant fraction of the activity is devoted to fundamental research, with potential impact on high performance computing, in areas such as the theory of computing,software engineering, and theoretical aspects of computer systems and operating systems.

The activity also includes a postdoctoral program for interdisciplinary computational scientists.
Budget ($ M)
FY 95 Act 29.82
FY 96 Pres 29.01
FY 96 Est 26.66
FY 97 Rqst  
Program Component Areas
  FY 96 FY 97
HECC 26.66  
LSN    
HCS    
HuCS    
ETHR    
Agency Ties
DARPA  
NSF  
DOE  
NASA  
NIH  
NSA  
NIST  
NOAA  
EPA  
ED  
AHCPR  
VA  
Milestone Changes  
FY 1995 Actual Milestones FY 1996 Estimated Milestones FY 1997 Agency Requested Milestones
Developed compilers for high performance Fortran for several parallel machines.

Developed scalable multiprocessing operating systems.

Developed efficient probabilistic algorithms based on information-based complexity for important scientific problems.

Demonstrated software engineering techniques for developing and analyzing designs and software with real-time or other critical dependability constraints.

Demonstrated software to support transparent computations on a heterogeneous collection of computing systems that are geographically distributed.

Developed program of Challenges in Computer Science to support research on technologies that will enhance the usability of high performance computing systems.
Increase the support for compiler and operating systems research focused on heterogeneous, geographically distributed collections of computing systems.

Introduce a sabbatical program to support scientists and engineers to become more proficient in applying parallel computing technology to their disciplines.

Initiate a program to bring promising computer science research to a point of maturity that will permit evaluation by the user community.

Identify and exploit applications areas where discrete mathematics and theoretical computer science developments can lead to more accurate and efficient computations.

Extend ongoing research in parallel and distributed computing to address problems for universal services including heterogeneity, interoperability, and real-time operating systems.
This activity is now incorporated into the activities described under Computing Systems and Networking, Communications and the Convergence and Computing and Communications.