header Offering Degrees in Computer Science and Computer Engineering
Info for:

Core Research Area

Systems

[Overview]   [Faculty]   [Projects]   [Courses]

The Systems research area focuses on the design, integration and efficient use of systems ranging from embedded systems to distributed systems.

Faculty

Nancy Amato, Professor   (Motion planning, computational biology, robotics, computational geometry, animation, CAD, VR, parallel and distributed computing, parallel algorithms, performance modeling, and optimization)

Riccardo Bettati, Professor   (Distributed real-time systems, scheduling algorithms, communication protocols, traffic analysis, and anonymity and privacy)

James Caverlee, Assistant Professor  (Web-scale information management, distributed data-intensive systems, information retrieval, databases, and social computing)

Jianer Chen, Professor   (Algorithms and complexity, computer networks, bioinformatics, computer graphics)

Gabriel Dos Reis, Assistant Professor   (Computer algebra, mathematical software, computer methods in geometry, programming languages and libraries, compiler construction, generic programming)

Guofei Gu, Assistant Professor  (Network security, system security, intrusion detection, malware detection, analysis, and defense)

Ricardo Gutierrez-Osuna, Associate Professor   (Intelligent sensors, speech processing, face recognition, machine olfaction, neuromorphic computation, mobile robotics, pattern recognition, machine learning)

Anxiao (Andrew) Jiang, Assistant Professor   (Information theory, coding for flash memories, wireless and sensor networks, algorithms)

Andruid Kerne, Associate Professor   (Recombinant knowledge spaces, interface ecosystems, augmentation of creative process, wearable affective computing | Semiotics, time-based media, social interactivity, public installation, ambient media, sensor networks, cultural databases | Information visualization, human computer interaction, visual hypertext, distributed and embedded real-time and Internet architectures, machine learning)

Eun Jung Kim, Assistant Professor   (Computer architecture, power efficient systems, parallel/distributed systems, computer networks, cluster computing, QoS support in cluster networks and Internet, performance evaluation, and fault-tolerant computing)

Jyh-Charn (Steve) Liu, Professor   (Real-time distributed computing systems, network performance and security, medical informatics)

Dmitri Loguinov, Associate Professor   (Real-time video streaming, congestion control, overlay networks, content distribution and caching, peer-to-peer networks, Internet traffic measurement, performance analysis, and stochastic modeling of networks)

Rabi N. Mahapatra, Associate Professor   (Embedded systems, system-on-chip, reconfigurable architectures, real-time systems, cyber infrastructure, semantic networks)

Lawrence Rauchwerger, Professor   (Compilers for parallel and distributed computing, parallel and distributed C++ libraries, adaptive runtime optimizations, architectures for parallel computing)

Dylan Shell, Assistant Professor    (Distributed AI, biologically-inspired multi-robot systems, coordinated system, analysis of multi-agent systems, crowd modeling)

Vivek Sarin, Associate Professor   (Numerical algorithms, parallel computing, computational science, data mining and analysis)

Dezhen Song, Assistant Professor   (Networked robotics, computer vision, multimedia, autonomous vehicle, optimization, automation)

Radu Stoleru, Assistant Professor   (Deeply embedded wireless sensor systems, distributed systems, embedded and real-time computing, computer networking)

Bjarne Stroustrup, Professor and College of Engineering Endowed Chair in Computer Science   (Distributed systems, software development tools, design, programming and programming languages, founding member of the ISO C++ standards committee)

Valerie Taylor, Department Head; Royce E. Wisenbaker Professorship in Engineering   (High performance computing, with particular emphasis on the performance analysis and modeling of parallel and distributed applications)

Jeffrey Vitter, Professor   (Massive data, external memory algorithms; compressed data structures; databases; data compression, including text, image, and video compression; machine learning and prediction; randomized, parallel, and incremental algorithms; computational geometry; computational science; algorithm engineering; combinatorial optimization)

Hank Walker, Professor   (Integrated circuit test, defect-based test, delay test, IDDQ test, fault diagnosis, realistic fault modeling, parametric and functional yield prediction)

Jennifer Welch, Professor   (Algorithms and lower bounds for distributed computing systems, in particular mobile ad hoc networks, distributed shared objects, and metamorphic robot systems)

Tiffani Williams, Assistant Professor   (Bionformatics/Computational biology, phylogeny, high-performance computing, optimization, performance analysis)

Projects

Defect Diagnosis (Hank Walker) A significant number of chips that are manufactured do not work correctly. In order to improve the manufacturing yield, it is essential to quickly diagnose these defects and take appropriate corrective action in the manufacturing line. The first step in diagnosis is localization of the defect behavior. Large numbers of transistors and wiring layers on a chip make this problem very difficult and time consuming. Practically it must be done via electrical test - using electrical responses to narrow the search space. Our approach relies primarily on causality to narrow the space of candidate locations, before further narrowing the search using a variety of fault models describing potential defect. This is a challenging algorithm problem.

Delay Fault Testing (Hank Walker) As integrated circuit performance rises, an increasing fraction of chips contain small delay defects, such as a resistive connection. Detecting these defects requires testing the longest signal path through the defect location, while also taking into account the worst realistic temperature, supply voltage and capacitive coupling noise. This requires solving large and difficult search and optimization problems very quickly, and coming up with compact and efficient, yet realistic models of circuit behavior. (With Weiping Shi in EE).

HiPEEs: High Performance, Energy Efficient, and Secure Cluster (Eun Jung Kim) A framework to design and analyze high performance, energy efficient and secure cluster. In addition, a comprehensive model/tool will be developed to quantify actual power savings in different components of System Area Networks with respect to performance and security.

Incremental Model Checker (Steve Liu) Conformance of a system to its specification is critical to high assurance systems. We develop algorithms for both graph based and symbolic computing methods to verify incremental changes of complex systems designs.

Integrated Circuit Testing by Outlier Analysis (Hank Walker) One class of integrated circuit testing is referred to as parametric testing, since it involves measuring a continuous parameter, such as the quiescent leakage current or minimum operating voltage (MINVDD). These parameters do not have pre-defined pass/fail limits, so such limits must be set by the test engineer. We do this by outlier analysis, using the assumption that outlier chips contain a defect and so have lower reliability than other parts. One challenge is the rising background leakage current of modern technologies. We address this problem with the development of a built-in current sensor, which we have fabricated and tested in a variety of technologies.

Modeling of Discontinuities in Congestion Control (Steve Liu) Modeling and control of network congestion are critical to network performance management. Most congestion control mechanisms have discontinuous actions but they are usually ignored in the modeling process. We show that using the sliding mode control (SMC), one can effectively capture the network dynamics without requiring detail system state information. Asymptotic stability can be guaranteed.

Network Camouflaging (Riccardo Bettati) It is expected that, within a few years, the majority of traffic on the Internet will be encrypted. Traffic contents will then be very difficult to access, and observers will use traffic analysis to infer information about a system. Within the NetCamo ( Network Camouflaging ) project, we study how to prevent traffic analysis in mission-critical QoS-guaranteed networks.

Network Optimization (Jianer Chen) In this project, we study computational optimization problems with applications in computer networks, such as network topology, network QoS routines, and network fault tolerance.

Network Security (Janier Chen) In this project, we concentrate on network anonymous communications and network camouflaging.

Optimal-Diameter Routing Infrastructure (ODRI) (Dmitri Loguinov) ODRI is our recent peer-to-peer (P2P) framework that relies on distributed de Bruijn graphs of optimal diameter and several novel peer join/departure mechanisms. This project investigates the performance of ODRI and explores the various graph-theoretic properties of existing and future P2P networks.

(The) Pivot (Bjarne Stroustrup) A general framework for static analysis of C++ programs with an emphasis on analyzing "advanced" features such as classes, class hierarchies, exceptions, and templates. In addition to traditional static analysis techniques, The Pivot will support library-specific optimization of STAPL and other high-level abstractions.

Power-Aware Resource Management in Densely Packaged Distributed Real-Time Embedded Systems, Evaluation and Guidelines to COTS Microprocessors in Avionics (Rabi Mahapatra)

Prophesy: Performance Analysis and Modeling Infrastructure (Valerie Taylor) Prophesy includes three major components: automatic instrumentation, databases for archiving performance data, and a model builder. The model builder can use one of three techniques (curve fitting, parameterization, or coupling) to develop performance models. Prophesy can be used to identify performance trends, performance tune applications, or provide predictions that can be used by other systems such as resource schedulers. http://prophesy.cse.tamu.edu

Scalable Content Distribution for Video Streaming (Dmitri Loguinov) This project focuses on next-generation overlay networks and studies the problem of building a distributed, self-organizing content distribution architecture for real-time video streaming services.

Secure Communication & Computer Systems (SUCCESS) Lab (Guofei Gu) Current computer and network security projects

Self-Stabilizing Group Communication for Mobile Environments (Jennifer Welch) Group communication services form important building blocks for applications in dynamic distributed systems, including mobile environments, in which processors can change their physical location continually. A self-stabilizing algorithm can be started in any global state, which could be reached due to an arbitrary combination of failures, and ensures that the system converges to a consistent state after which the desired behavior resumes; this form of fault-tolerance is particularly desirable in mobile environments. The goal of this research is to design self-stabilizing algorithms for group communication services that will operate in mobile networks.

Software-Hardware Interactive Computing (Steve Liu) Field configurable logic allows one more directly translate high level logic to the hardware signals, and vice versa. It is still an open problem on how to utilize such computing power for non-conventional system resource management, at most, if not all, levels of kernel functions. A simple interactive debugging technique based on per-instruction monitoring of ARM7 processor was found feasible on a prototype. More advanced features are being developed to exploit its potentials.

STAPL: Standard Template Adaptive Parallel Library (Lawrence Rauchwerger, Nancy Amato, Bjarne Stroustrup) STAPL is an ISO Standard C++ based parallel computation library and run-time system. STAPL supports portable high-performance computation on shared memory and cluster architectures using high-level abstractions in the spirit of the C++ standard library. STAPL is being developed concurrently with physics and biology applications.

Statistical Static Timing Analysis (Hank Walker) The timing of modern integrated circuits is hard to predict, since transistor parameters have larger fluctuations as they get smaller. The circuit is also subject to increasing noise from temperature and voltage variations and coupling. These must be efficiently taken into account in order to quickly estimate the delay distribution of a circuit, both for sign-off transfer to manufacturing, and for use in an optimization loop to increase circuit performance. This involves both compact models and efficient statistical algorithms. (With Weiping Shi in EE).

Topology Models for Decentralized Random Graphs (Dimitri Loguinov) This project undertakes a study of decentralized graph evolution and attempts to model small-world networks observed in real life.

Courses

CSCE 313. Introduction to Computer Systems. (3-2). Credit 4. Introduction to system support for application programs, both on single node and over network: OS application interface, inter-process communication, introduction to system and network programming, and simple computer security concepts; hands-on lab assignments. Prerequisite: CSCE 312 or corequisite CSCE 350.

CSCE 321. Computer Architecture. (3-2). Credit 4. Basic hardware/software components, assembly language, and functional architecture design of computers; syntax and semantics of a typical microprocessor assembly language; instruction sets, construction and execution of an assembly program; the design of I/O modules, memory, control unit and arithmetic unit. Prerequisite: ECEN 220 or 248.

CSCE 410. Operating Systems. (3-0). Credit 3. Hardware/software evolution leading to contemporary operating systems; basic operating systems concepts; methods of operating systems design and construction; algorithms for CPU scheduling, memory and general resource allocation; process coordination and management; case studies of several operating systems. Prerequisite: CSCE 315.

CSCE 456. Real-Time Computing. (3-3). Credit 4. Introduction to principles and applications of real-time computing; system architecture; D/A and A/D conversion; synchronous data acquisition and analysis; computers in real-time control; asynchronous monitoring and control; resource scheduling; interfacing issues; lectures and laboratory. Prerequisites: ELEN 220 or 248; MATH 251; knowledge of C or Ada, or approval of instructor.

CSCE 462. Microcomputer Systems. (2-2). Credit 3. Microcomputers as components of systems; VLSI processor and co-processor architectures, addressing and instruction sets; I/O interfaces and supervisory control; VLSI architectures for signal processing; integrating special purpose processors into a system. Prerequisite: CSCE 313.

CSCE 463. Networks and Distributed Processing. (3-0). Credit 3. Basic hardware/software, architectural components for computer communications; computer networks, switching, routing, protocols and security; multiprocessing and distributed processing; interfacing operating systems and networks; case studies of existing networks and network architectures. Prerequisite: CSCE 315 or approval of instructor.

CSCE 483. Computer Systems Design. (1-6). Credit 3. Engineering design; working as a design-team member, conceptual design methodology, design evaluations, total project planning and management techniques, design optimization, systems manufacturing costs considerations; emphasis placed upon students' activities as design professionals. Prerequisites: CSCE 315 and 462; senior classification.

CSCE 605. Compiler Design. (3-0). Credit 3. Advanced topics in compiler writing; parser generators and compiler-compilers; dynamic storage and scope resolution; data flow analysis and code optimization. Prerequisite: CSCE 434.

CSCE 613. Operating Systems. (3-0). Credit 3. Analysis of algorithms in computer operating systems; sequencing and control algorithms supporting concurrent processes; scheduling algorithms to minimize execution times and mean flow times; algorithms for allocating tasks to processors; allocation of memory (virtual and real); direct access device schedules; auxiliary and buffer storage models. Prerequisite: CSCE 313 or 611.

CSCE 614. Computer Architecture. (3-0). Credit 3. Reviews of von Neumann architecture and its limitations; parallel computer structures and concurrent computation; pipeline computers and vectorization methods; array processors, multiprocessor architectures and programming; dataflow computers. Prerequisite: CSCE 350.

CSCE 619. Networks and Distributed Computing. (3-0). Credit 3. Computer network concepts including network architecture, layering, protocols, packet switching and virtual circuits; performance evaluation and design considerations for local area networks; packet distributed networks; satellite networks. Prerequisite: CSCE 463 or 612.

CSCE 651. Simulation I. (3-0). Credit 3. Introduction to simulation and comparison with other problem-solving techniques; simulation methodology including generation of random numbers and variants, time flow mechanisms, sampling considerations, and validation and analysis of simulation models and results; survey of discrete simulation languages; applications of simulation, including operating systems and networks. Prerequisites: Graduate classification and knowledge of a minimum of three programming languages.

CSCE 661. Integrated Systems Design Automation. (3-0). Credit 3. VLSI design systems and their levels of abstracting; algorithms for general VLSI design and implementation; computer aided design tools and principles; physical and logical models. Prerequisite: Graduate classification.

CSCE 662. Distributed Processing Systems. (3-0). Credit 3. Principles and practices of distributed processing; protocols, remote procedure calls; file sharing; reliable system design; load balancing; distributed database systems; protection and security; implementation. Prerequisite: CSCE 313 and 463 or CSCE 612.

CSCE 663. Real-Time Systems. (3-0). Credit 3. Taxonomy of real-time computer systems; scheduling algorithms for static and dynamic real-time tasks; hard real-time communications protocols; programming languages and environments for real-time systems; case studies of real-time operating systems. Prerequisites: CSCE 313 and 463 or 611, or approval of instructor.

CSCE 665. Advance Networking and Security. (3-0). Credit 3. Introduction to various modern topics in computer and network security. It will provide a thorough grounding in computer and network security suitable for those interested in conducting research in this area, as well as students more broadly interested in real-world security issues/techniques.

CSCE 668. Distributed Algorithms and Systems. (3-0). Credit 3. Introduction to fundamental algorithmic results in distributed computing systems; leader election, mutual exclusion, consensus, logical time and causality, distributed snapshots, algorithmic fault tolerance, shared memory, clock synchronization. Prerequisites: CSCE 411 or equivalent; approval of instructor.

CSCE 677. Switching Theory. (3-0). Credit 3. Digital systems design; introduction to switching algebras, overview of integrated circuit technologies, analysis and synthesis of combinational circuits, special properties of selected switching functions, sequential circuits, fundamental mode analysis, pulse mode analysis, and sequential circuit synthesis. Prerequisites: Graduate classification. Cross-listed with ECEN 652.

CSCE 680. Testing and Diagnosis of Digital Systems. (3-0). Credit 3. The theory and techniques of testing VLSI-based circuits and systems, and design for testability. Prerequisites: CSCE 321 or ECEN 350 or equivalent; ECEN 220 or 248 or equivalent. Cross-listed with ECEN 680.



Copyright 2006 Department of Computer Science and Engineering | Dwight Look College of Engineering | Texas A&M Engineering | Texas A&M University | State of Texas | Accessibility | Webmaster | This page is best viewed with firefox 1.5 or higher and Internet Explorer 7 or higher