

 |


Systems Technology
Systems Architecture
Emerging applications in networking, digital media and information technology
are expected to drive the evolution of future computing platforms. Systems
Architecture refers to the combination of the underlying hardware architecture
and system software that comprise a computing platform. Today, we have a
wide range of hardware options from general-purpose, parallel multicore CPUs
to custom (massively parallel) ASICs and tightly integrated multi-processing
systems-on-chip (SoC2). Fortunately, the myriad hardware options do share
a common theme: future performance improvements are expected to come primarily
from more parallelism in hardware rather than increasing clock-speeds.
Why
is Systems Architecture important? Applications are processing increasingly
large amounts of data, which slows down performance. To address this, we
can devise new algorithms. However, algorithmic improvements alone are not
sufficient to keep up with the demands in securing, analyzing or searching
large volumes of data. Also, world-wide adoption of common standards makes
it difficult to immediately leverage incremental advances in the underlying
algorithms. Therefore, we must look beyond algorithmic improvements. Innovations
in systems architecture can provide a big boost in application performance.
Advances in multi-CPU architectures and FPGA technology are creating compelling
cost-performance hardware computing platform tradeoffs. Advances in operating
systems, run-time support and parallel domain-specific middleware open up
new opportunities for improving application performance.

Systems Analysis & Verification
This research area concentrates on analysis and verification of hardware,
software, and embedded systems. We envisage that formal methods will
become an essential part of the best practices in the design and development
of large, open, distributed, general purpose or embedded systems. With
the growth of multi-core processing and concurrent programming in many
key computing segments (mobile, server, gaming), there is a great need
for effective development and verification technologies for concurrent
multi-threaded programs. At the same time, due to the ubiquitous availability
of cyber systems that interact with physical environments, there is a
great need to develop technologies that target the whole system. The
cornerstone of our research is investigation into leading-edge technologies
for formal analysis, bringing together the domains of system modeling,
formal verification, program analysis, automata theory, constraint solvers,
and software engineering. We have made significant progress in these
domains in the recent past, with notable examples in SAT-based model
checking and software program verification.
Going forward, we believe it is essential to combine formal verification
with other static and dynamic analysis techniques, with the overall goals
of improving design quality, improving developer productivity, and reducing
the cost of system development by finding bugs early and cheaply.

|







|