Home >Research > Research Areas > Computer Engineering Research Projects

 

Computer Engineering Research Projects

 


MATCH:  A MATLAB Compilation Environment for Adaptive Computing Systems

Members: P. Banerjee and A. Choudhary

Sponsor:  Defense Advanced Research Projects Agency

Adaptive computing systems constitute a new class of computing and communication technology composed of configurable hardware capable of system-level adaptation.  Such systems are often built out of combinations of microprocessor-based embedded systems, specialized digital signal processors (DSP’s), and field-programmable gate arrays (FPGA’s).  The objective of this project is to make it easier for users to develop efficient codes for adaptive computing systems.  As part of this project, we are developing a compiler that allows input of a user’s applications written in the high-level language, MATLAB, and generates efficient low-level code that runs on commercial off-the-shelf FPGA’s, embedded processors, and DSP’s.  Our specific aims include:

  • development of a hardware testbed consisting of FPGA’s, embedded processors, and DSP’s; 
  • development of a basic compiler for mapping a given MATLAB application onto this heterogeneous target;
  • investigation of automated parallelization and mapping techniques;       
  • design and support of compiler directives; 
  • development of library functions and applications of interest to DOD;         
  • development of faster algorithms for compilation.

 

MATLAB-Based Adaptive Computing for NASA Image Processing

Members: P. Banerjee and S. Hauck (University of Washington)

Sponsor:  National Aeronautics and Space Administration / University of Washington

Typical NASA applications involve image-processing tasks that require high-performance hardware.  There is growing interest in using for this purpose field-programmable gate arrays (FPGA’s), which may yield orders-of-magnitude speedups.  However, the major roadblock to obtaining this performance boost  is the lack of sophisticated development tools.  In a joint effort between the University of Washington and Northwestern, we are developing an automatic compilation system which will allow users to compile MATLAB codes directly onto FPGA’s.  This will not only shorten development cycles enough to support new scientific investigations and the rapid prototyping of new algorithms, but it will allow the development to be performed by the scientists themselves.  Driving the development of the compiler will be research involving real-world algorithms taken from NASA applications.  By researching and implementing these algorithms by hand, we can develop optimization knowledge to significantly improve the results of our compiler.

 

PACT:  Power-Aware Architectural and Compilation Techniques

Members: P. Banerjee, A. Choudhary, and H. Yuen

Sponsor:  Defense Advanced Research Projects Agency

The objective of the PACT Project is to develop power-aware architectural techniques and associated compiler and CAD tool support. The specific goals of the PACT project are:

  • Develop novel architectural and compiler concepts at various levels that can reduce the total energy consumption in specific applications by factors of 10-100X over conventional, non-power-aware architectures.
  • Develop compiler techniques to automate the process of generating efficient code that is within a factor of two of the best manual approach with respect to optimizing power under performance and resource constraints.
  • Demonstrate the usefulness of the compiler and architectural concepts on some real applications.

We will target specific algorithms and applications that are of interest to DOD. Moreover, we will develop a prototype of a general-purpose memory system chipset to be used on a variety of systems and applications.

 

PANTHER:  A High-Performance Distributed-Computing Infrastructure

Members: P. Banerjee, A. Choudhary, P. Scheuermann, and V. Taylor

Sponsor:  National Science Foundation

Specific aims of this project include: 

  • Explore using high-speed networking and computing to investigate file-systems and data-management issues for high-performance distributed computing.      
  • Investigate the parallel-programming support of networks of high-speed workstations and personal computers as an alternative to stand-alone parallel computers.   
  • Investigate high-performance CAD of electronic systems in a heterogeneous environment.   
  • Develop a Web-based CAD computing center that takes advantage of high-speed networking.
  • Explore new instructional techniques that take advantage of high bandwidth and high speed.

This project provides for the acquisition of 50 high-performance Hewlett-Packard C-180 UNIX workstations, 20 medium-performance B-132 UNIX workstations; 3 J-280 UNIX fileservers, an 8-processor Silicon Graphics Origin 2000 distributed shared-memory multiprocessor, and four CISCO systems LS1010 ATM switches.  All of the machines are connected via an OC-3 ATM network operating at  155 Mbps.

 

High-Performance Data-Management, Access, and Storage Techniques for Tera-Scale Scientific Applications

Members: P. Banerjee, A. Choudhary and V. Taylor

Sponsor:  Department of Energy ASCI Level-2 Grant

Emerging large-scale scientific experiments and simulations require the storage, management, efficient access, and analysis of hundreds of gigabytes to hundreds of terabytes of data.  Current data-management and analysis techniques do not satisfy these needs in term of performance, scalability, ease of use, and interfaces.  This project is developing a scalable, high-performance, data-management system (SHPDM) to provide support for data management, query capability, and high-performance accesses to large datasets stored in hierarchical storage systems such as HPSS.  SHPDM will provide the flexibility of conventional databases for indexing, searches, management of objects, and creating and keeping histories and trails of data accesses.  It will also provide high-performance access methods and optimizations (pooled striping, prefetching, caching, collective I/O) for accessing large-scale data-objects found in scientific computations.

 

Interoperable Data Files for High-Performance Computing

Members: A. Choudhary

Sponsor:  National Science Foundation

This project is developing data-management techniques that enhance both interoperability and high-performance parallel access to scientific data.  Specific objectives include the development of software support for:  (1) “portable” data files that provide user-defined abstractions;  (2) automated filtering and conversion techniques capable of extracting the “meaning” of a data file and presenting it in a form compatible with a host application;  (3) improved access techniques that permit parallel access to the files while preserving the basic abstractions;  (4) run-time techniques that incorporate collective I/O, data reuse, and prefetching strategies;  and (5) legacy files.

 

Modeling and Evaluation of I/O Architecture in Servers

Members: A. Choudhary

Sponsor:  Intel Corporation

This project is developing an object-oriented simulation environment to study various architectural configurations for servers.  We have developed detailed server-workload models from typical application domains such as OLTP, video-on-demand, decision support etc.  These models are used to study the performance, reliability, and availability of server features.  While the primary focus is to study different approaches for the server’s I/O subsystem, the modeling is general enough to study other server components including the processing nodes and the communications network.

 

Automated Reasoning Tools for Telecommunications Software Verification

Members: L. Henschen

Sponsor:  Motorola Center for Communications

A verification system for telephony software is being developed based on the ACL2 system.  As ACL2 is both a formal language for representing assertions about software and an executable language, our system can both prove results about the software being modeled and execute that software.  Our system will have a library of techniques for telephony software verification.  A user interface will allow arbitrary mixing of ACL’s descriptions of functions with actual C implementations of those functions to form an executable module.  The verified ACL2 representation will serve as an oracle for generating correct  output against which to compare C-module results.

 

On-Chip Interconnect Noise in Global Distribution Networks

Members: Y. Ismail

Sponsor:  Semiconductor Research Corporation / University of Rochester

This project deals with accurately evaluating the responses and signal integrity of global on-chip networks such as clock-distribution and power-distribution networks and buses. 
As part of the project, several tools are being developed for the accurate evaluation of interconnects including inductance effects.  Also, design methodologies and interconnect-optimization tools are being developed under this project.

 

Large Scale Nonlinear Programming

Members: J. Nocedal

Sponsor:  National Science Foundation

Our goals in this project are threefold.  First, we are developing new techniques for solving large nonlinear programming problems.  The new algorithms are being designed to be robust even for highly ill-conditioned problems, and are being tailored to very large problems.  Second, we are developing a new method for solving problems in which derivatives are not available.  Finally, we are creating a NEOS server for mixed-integer nonlinear programming (MINLP).

 

Metacomputing Environments for Optimization (MetaNEOS)

Members: J. Nocedal

Sponsor:  National Science Foundation

The metacomputing paradigm has emerged as an economical way to harness the power of large, distributed collections of computers, making use of compute cycles that would otherwise be wasted.  The goal of this project is to use metacomputing platforms to enable the solution of very large optimization problems that arise in science, engineering, and economics.  By combining distributed hardware, network hardware/software infrastructure, and optimization algorithms and modeling tools, we aim to produce environments powerful enough to tackle optimization problems of unprecedented size and complexity.

 

Nonlinear Programming:  Algorithms and Software Environments

Members: J. Nocedal

Sponsor:  U.S. Department of Energy

Projects here range from the design of new algorithms and the study of  their convergence properties to the development of production-level software.  One of the main goals is to devise new interior-point methods for large-scale nonlinear programming.  Much attention will also be given to the study of new automatic preconditioners for the conjugate gradient method, and to their application in both optimization  calculations and finite-element models.

 

Architecture for Mining Semi-Structured Data on the Web

Members: P. Scheuermann

Sponsor:  National Science Foundation

Semi-structured HTML documents are characterized by a rich data model, i.e., they contain both structured values and unstructured concepts.  We are developing a prototype
Web-mining system that will allow users to specify a set of constraints (either data values or concepts) and obtain a set of  rules that contain the given constraints and other items related to the constraint set.  In order to derive these rules, our system makes use of a concept library that differentiates between general concepts and concepts associated with a specialized domains.  We are developing new methods for generating partially constrained association rules and classification rules that make use of the extended concept hierarchies kept in our library.

 

SCALAR:  Scalable Architecture for Replication on the Web

Members: P. Scheuermann

Sponsor:  National Science Foundation

The wide use of the World Wide Web and the ease of access to the Internet are changing drastically our requirements in distributed systems.  The exponentially growing scale of use of the Web is stressing the capacity of the Internet and leads to poor performance and low reliability of Web service.  Replication is one of the major techniques that have been proposed to overcome these problems.  This project focuses on the development of a prototype system that will provide a scalable  architecture for replication on the Web.  A new client/server architecture that will allow for user-transparent geographic replication is investigated.  Unlike other proposed Web architectures, both clients and servers take active roles in this architecture.  Server machines determine the documents to be replicated/migrated and best locations for the documents, while client machines choose the best server to submit their requests based on estimates of the servers’ prior response times.  Heuristic algorithms based on clustering techniques will be developed in order to determine sets of documents that be beneficially migrated/replicated as a unit.

 

Alliance Team B:  Distributed Computing

Members: V. Taylor

Sponsor:    National Science Foundation / National Center for Supercomputing Applications (NCSA)

This project is part of an overall NSF PACI award to NCSA, called the Alliance.  We plan to complete two  major tasks:  (1) development of performance models for the cosmology application executed on distributed systems;  and (2) integration of these models into the PART tool, which performs data partitioning for distributed systems.  Our initial focus will be on the cosmology application because it builds upon the expertise of  the researchers at Northwestern in the area of mesh-based applications.

 

Grid Physics Network (GriPhyN) Project

Members: V. Taylor

Sponsor:  National Science Foundation

The GriPhyN (Grid Physics Network) project brings together an outstanding team of information technology (IT) researchers and experimental physicists to provide the IT advances required to enable petabyte-scale data-intensive science in the 21st century.  Driving the project are unprecedented requirements for geographically dispersed extraction of complex scientific information from very large collections of measured data.  To meet these requirements, the GriPhyN team will pursue IT advances centered on the creation of Petascale Virtual Data Grids (PVDG’s) that meet the data-intensive computational needs of a diverse community of thousands of scientists spread across the globe.

 

Integration of Computer Architecture and Parallel Programming Tools Into Computer Science and Engineering

Members: V. Taylor, A. Choudhary,  J. Fortes and R. Eigenmann  (Purdue University), L. Vidal and J. J. Chen ( Chicago State University)

Sponsor:  National Science Foundation / Purdue University

Three institutions (Purdue, Northwestern, and  Chicago State University) are involved in this project.  The goal is to integrate computer architecture and parallel programming tools into computer science and engineering curricula.  We do this using a network computing infrastructure called the Purdue University Network Computing Hubs (PUNCH).  Existing courses are being enriched with both content and experiments not previously possible.  Northwestern is involved with integrating several tools into two computer architecture courses.  All three universities are developing educational materials and are installing tools for shared use through PUNCH.

 

NETCARE:  NETwork-Computer for Computer Architecture Research and Education

Members: V. Taylor

Sponsor:  National Science Foundation

NETCARE (NETwork-computer for Computer Architecture Research and Education) is a World Wide Web accessible distributed infrastructure of software tools and computing resources for the computer architecture community.  The goal of NETCARE is to provide students, educators and researchers a unique environment in which such tools can be shared, tested, evaluated, and used on problems in electronic design automation.  NETCARE allows users to actually run tools via conventional web browsers, in addition to providing tool information, sources, and examples.

 

New Approaches to Human Potential Realization thru Information Technology Research

Members: V. Taylor

Sponsor:  National Science Foundation

The objective of this project is to discover effective mechanisms for reducing the disparity between the technological haves and have-nots, in terms of employability, income and societal participation (aka “The Digital Divide”).  Since a disproportionately large number of African-Americans fall in the category of have-nots, we have taken on the so-called African-American Problem as our research challenge.  In this project, we are conducting basic research in distributed systems, information retrieval, human-computer interfaces, collaboration technologies, social/cultural preferences of African-Americans, public policy analysis, and culture-specific pedagogies and assessments.  A unifying framework for our project is the development of a culture-specific, distributed, distance-learning system for African-Americans based on the single-learner multiple-teacher model.  Our basic research is complemented by a number of educational technology development projects and community-deployment assessments.

 

Prophesy:  A Hierarchical Tool for Modeling and Analyzing Parallel Scientific Applications

Members: V. Taylor

Sponsor:  National Aeronautics and Space Administration

Currently, there exists a large gap between the theoretical peak performance and the actual achieved performance of advanced parallel computers when running large scientific simulations.  This gap stems in part from an incomplete understanding of how the parallel-system features impact the performance of the applications.  Detailed performance models aid in  understanding  the relationship between the parallel system and the application.  This project studies the use of several performance models, including nonlinear models, to aid in understanding and predicting application performance. 

 

Prophesy:  A Performance Network for Developing a Computer Algebra for Complex Computing Systems

Members: V. Taylor and R. Stevens (University of Chicago and Argonne National Laboratory)

Sponsor:  National Science Foundation

Currently, a large gap exists between the peak performance of high-performance systems and the actual performance when running large scientific simulations.  This gap stems partly from poor understanding of how the computer-system features impact the performance of the applications.  We are addressing this problem by developing a framework called “Prophesy” that facilitates the development of very-fine to coarse-grain analytical performance models.  Further, Prophesy will enable the development of an algebra that identifies how elementary performance models of system components and application algorithms should be composed to reflect the performance of the application executing on a parallel system.

 

Design of Assembly Operations for Recycling Disassembly

Members: C. H. Wu, D. T. Lee, and S. M. Mok, D. Hong, and T. Babin (Motorola)

Sponsor:  Motorola Center for Communications

This project is developing automatic assembly operations for recycling disassembly at Motorola.  We are developing a Virtual Assembly and Disassembly (VIRAD) system that can be integrated into CAD/CAM software to permit designers to evaluate products for assembly and disassembly efficiencies.  The framework of the system divides a product’s life cycle into three phases:  CAD design, the VIRAD environment, and  manufacturing and de-manufacturing processes.  The processes of automatic assembly and disassembly have become key technologies in recycling for protecting our environment.  By having automatic disassembly processes to de-manufacture products at a lower cost, recycling efforts can be accelerated and made profitable. 


 

 

Copyright © 2002 Department of Electrical and Computer Engineering,
Robert R. McCormick School of Engineering and Applied Science,

Northwestern University. All rights reserved.

Send questions and comments to the Webmaster.