System LSI and Software Verification

Research Projects
Publications
Patents
Staff

 

 

 

 

 

 

 











 
Welcome to NEC Labs America


Systems Architecture and System Analysis & Verification

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 CPUs to custom ASICs and distributed clusters to tightly integrated systems-on-chip. Services common to applications are implemented using system software which includes operating systems, run-time support, and domain/application-specific middleware.

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 domain-specific middleware open up new opportunities for improving application performance. In addition to performance, significant improvements in security, reliability or dependability of applications are also possible through innovations in the realm of systems architecture.

Advanced Systems Architecture

Fundamental to computing and networking systems that enable powerful applications are technologies and design methodologies that rapidly transform ideas into silicon and software systems. We are entering a new era that is no longer ruled by the PC and Internet. This era will be driven by information technology that adapts to the human being rather than vice versa. To make such systems and devices a reality, several new system architecture technologies have to be developed that meet stringent requirements. The challenge will be to design a diversity of devices and systems that are high performance yet programmable, cheap and energy efficient; robust and ultra-reliable yet user friendly and omni-functional; secure yet network connected.

Our focus is on four compute-intensive, important functions that are common to multiple killer applications: pattern matching, security processing, operating system services, and massively parallel processing. In all cases, we improve performance by focusing on system architecture innovations rather than making changes to well-known, standards-based algorithms.

Pattern matching: Pattern matching is a key underlying task in networking, databases and search engines. Our current focus is within the networking domain. Networks have moved beyond providing simple connectivity to full-fledged policy management. Key applications such as intrusion detection, policy management, content-based billing and several others have a common, compute-intensive need of high-speed packet classification. We must examine a network packet, header as well as payload, and determine if the packet data matches pre-specified patterns. Two trends make this task challenging. First, maximum switching speeds are projected to reach 100 Gbps within five years. Aggregate internet traffic data rate in US is projected to reach 100 Tbps. Second, patterns themselves are becoming more complex with the more expressive regular expressions increasingly being used to specify complex rules and worm signatures. We are researching algorithms supported by architectural innovations to enhance the speed and scalability of pattern matching.

OS Services: Off-load of TCP/IP processing workload to dedicated engines is well known. We focus on another important OS function: swap I/O overhead. Since servers have limited main memory, application code and data has to be temporarily swapped out to the disk. This will free-up main memory and allow execution of other important applications. Swap I/O overhead cuts into the performance of applications. While CPU speeds are doubling every 18 months, disk access times are cut in half only every 10 years. Therefore, swap I/O overhead will become an even more severe problem in the future. Our aim is to devise a new compression-based system architecture to drastically reduce swap I/O overhead. By using loss-less compression techniques in the swap function of the Operating System, we can effectively double the amount of information that is stored in main memory.

Secure information processing: Information security is a major challenge in key in IT applications. Our aim is to develop new technologies for the design of secure server platforms, such as architectures for efficient cryptographic processing, HW/SW approaches to enhancing attack-resistance, and trusted computing platforms. Computing and communications systems extensively use cryptographic algorithms to secure data, applications and transactions. However, security processing is computation intensive and degrades system performance. For example, commercial web servers are often slowed down by 5X-10X due to Secure Sockets Layer (SSL) processing workload. We are investigating the design of a high-speed, scalable and adaptive security architecture that can be used in a wide range of server platforms.

Large-scale computing architectures: New, internet-scale killer applications are driving evolution of disruptive computing architectures. These new architectures are not on the radar of traditional server-based IT platform roadmaps. Key attributes of the new, disruptive architectures are: internet-scale, extensive use of off-the-shelf hardware components, extensive use of open-source software, and massively parallel high-performance computing. Several companies like Google, Ebay, Sun Microsystems and Amazon have already invested heavily in "tera-scale" architectures, driven primarily by their own forecast of computing demands intrinsic to new applications. Our aim is to devise new large-scale computing architectures that will adequately meet ever-increasing computing demands of emerging applications.

Dependable Design

Systems-on-chip revolution, largely fuelled by insatiable consumer electronics demand, depends on increasingly large-scale integration of transistors. Aggressive scaling into the nanometer region, however, introduces novel reliability problems. Power and signal intergrity problems in design phase, process-induced variations in manufacturing phase, and electronmigration/degradation issues after shipping, together seriously undermine the reliability of of these chips. It is unlikely that we can reliably manufacture 100% defect-free devices using deep sub-micron technologies. Our ability to assemble devices that do not always function correctly into reliable systems (perhaps, by using fault tolerant and self-correcting architectures) is critical to ensure continued proliferation of system-on-chips. Our focus is on fault-tolerance, small delay defect testing, diagnosis and self-repair of systems-on-chip.

Advanced Embedded Architectures

We are in the early stages of an explosive growth in the number and diversity of communicating devices for business and life-style uses. For example, mobile devices that capture, store, and communicate a wide range of sensitive and personal data have already become common place. We are investigating innovative low-power, tamper-resistant and secure embedded processing architectures to support mobile commerce, digital rights management and secure multimedia delivery. We are also investigating new embedded architectures that can efficiently provide both compression and encryption to support on-demand, random access to instructions and data in embedded applications.



System Analysis & Verification

This research area concentrates on formal analysis and verification of software. It proposes to develop a verification system to determine programming errors and violations of software design assumptions with the aim of reducing the total cost of software, defined as the cost of development, deployment and field bugs. We envisage that formal methods in general and such a system in particular will become an essential part of the best-practices in the development of large, open, distributed, general purpose or embedded software in the near future. Companies will need to invest in this technology in order to remain competitive. The cornerstone of our research is investigation into leading-edge technologies for formal analysis of state-based systems for software, bringing together the domains of program analysis, automata theory, constraint solvers, formal methods and software engineering. We have made significant progress in these domains in the recent past, with notable examples in SAT-based model checking and abstraction methods. Going forward, we are building on these advances to develop practical technologies for software verification.

 

Research Projects
Publications
Patents
Staff

 





NEC Laboratories America, Inc.
Princeton Campus - 4 Independence Way, Suite 200, Princeton NJ 08540
Cupertino Campus - 10080 North Wolfe Road, Suite SW3-350, Cupertino, CA 95014

webmaster@nec-labs.com



©2006 NEC Laboratories America, Inc. All rights reserved.   Please Read our Privacy Policy