Now showing items 49-68 of 245

    • C++.T Formalization in Isar 

      Siek, Jeremy G.; Taha, Walid (2005-12-16)
      A formal account of C++ templates, including the compile-time and run-time semantics. The main result is a proof of type safety. The proof is written in the Isar proof language and can be mechanically verified using the Isabelle 2005 proof assistant.
    • Cache Coherence Using Local Knowledge 

      Darnell, Ervan (1995-04-01)
      Hiding memory latency is critical in modern machines. Typically, machines have used cache and addressed the ensuing cache coherence problem with hardware or VM-based strategies that rely on global inter-cache communication.However, global communication limits scalability. "Local knowledge" coherence strategies, which use compile-time information to ...
    • Cache Management in Scalable Network Servers 

      Pai, Vivek (2000-07-13)
      For many users, the perceived speed of computing is increasingly dependent on the performance of network server systems, underscoring the need for high performance servers. Cost-effective scalable network servers can be built on clusters of commodity components (PCs and LANs) instead of using expensive multiprocessor systems. However, network servers ...
    • Classes and Mixins 

      Felleisen, Matthias; Flatt, Matthew; Krishnamurthi, Shriram (1999)
      While class-based object-oriented programming languages provide a flexible mechanism for re-using and managing related pieces of code, they typically lack linguistic facilities for specifying a uniform extension of many classes with one set of fields and methods. As a result, programmers are unable to express certain abstractions over classes. In ...
    • Combining Analysis, Combining Optimizations 

      Click, Clifford Noel, Jr. (1995-02)
      This thesis presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the framework provides insight into when a combination yields better results. Also presented is a simple iterative algorithm for solving these frameworks. A ...
    • Combining Particles and Waves for Fluid Animation 

      Hall, Mark (1992-04)
      Modeling fluid motion is a problem largely unsolved by traditional modeling techniques. Animation of fluid motion has been possible only in special cases, falling into one of two general categories. Upper surface representations model wave phenomena for fluid in placid situations, such as calm ocean waves. Particle systems define the chaotic motion ...
    • COMMA: Coordinating the Migration of Multi-tier Applications 

      Liu, Zhaolei; Ng, T. S. Eugene; Sripanidkulchai, Kunwadee; Zheng, Jie (2014-11-24)
      Multi-tier applications are widely deployed in today’s virtualized cloud computing environments. At the same time, management operations in these virtualized environments, such as load balancing, hardware maintenance, workload consolidation, etc., often make use of live virtual machine (VM) migration to control the placement of VMs. Although existing ...
    • Commit Phase Variations in Timestamp-based Software Transactional Memory 

      Zhang, Rui; Budimli?, Zoran; Scherer, William N., III (2008-02-11)
      Timestamp-based Software Transactional Memory (STM) validation techniques use a global shared counter and timestamping of objects being written to reason about sequencing of transactions and their linearization points, while reducing the number of unnecessary validations that have to be performed, thus improving overall system performance. During the ...
    • Communication Generation for Data-Parallel Languages 

      Sethi, Ajay (1996-12)
      Data-parallel languages allow programmers to use the familiar machine-independent programming style to develop programs for multiprocessor systems. These languages relieve users of the tedious task of inserting interprocessor communication and delegate this crucial and error-prone task to the compilers for the languages. Since remote access in ...
    • Communication Optimizations for Distributed-Memory X10 Programs 

      Barik, Rajkishore; Budimlić, Zoran; Grove, David; Peshansky, Igor; Sarkar, Vivek; (2010-04-10)
      X10 is a new object-oriented PGAS (Partitioned Global Address Space) programming language with support for distributed asynchronous dynamic parallelism that goes beyond past SPMD message-passing models such as MPI and SPMD PGAS models such as UPC and Co-Array Fortran. The concurrency constructs in X10 make it possible to express complex computation ...
    • Compilation Order Matters: Exploring the Structure of the Space of Compilation Sequences Using Randomized Search Algorithms 

      Almagor, L.; Cooper, Keith D.; Grosul, Alexander; Harvey, Timothy J.; Reeves, Steven W.; (2004-06-18)
      Most modern compilers operate by applying a fixed sequence of code optimizations, called a compilation sequence, to all programs. Compiler writers determine a small set of good, general-purpose, compilation sequences by extensive hand-tuning over particular benchmarks. The compilation sequence makes a significant difference in the quality of the ...
    • Compiler Support for Machine-Independent Parallelization of Irregular Problems 

      von Hanxleden, Reinhard (1994-12-01)
      Data-parallel languages, such as HIGH PERFORMANCE FORTRAN or FORTRAND, provide a machine-independent data-parallel programming paradigm in which the applications programmer uses a dialect of a sequential language annotated with high-level data-distribution directives. Identifying parallelism in data-parallel applications typically is straightforward, ...
    • Compiler Support for Software Prefetching 

      McIntosh, Nathaniel (1998-03-02)
      Due to the growing disparity between processor speed and main memory speed, techniques that improve cache utilization and hide memory latency are often needed to help applications achieve peak performance. Compiler-directed software prefetching is a hybrid software/hardware strategy that addresses this need. In this form of prefetching, the compiler ...
    • Compiler Support for Work-Stealing Parallel Runtime Systems 

      Raman, Raghavan; Zhao, Jisheng; Budimlić, Zoran; Sarkar, Vivek (2010-03-03)
      Multiple programming models are emerging to address an increased need for dynamic task parallelism in multicore shared-memory multiprocessors. Examples include OpenMP 3.0, Java Concurrency Utilities, Microsoft Task Parallel Library, Intel Threading Building Blocks, Cilk, X10, Chapel, and Fortress. Scheduling algorithms based on work-stealing, as ...
    • Compiling dynamic languages via typed functional languages 

      Bandyopadhyay, Raj; Taha, Walid (2007-10-19)
      Dynamic languages enable rapid prototyping, while statically typed languages offer early error-detection and efficient execution. As a result, the usual practice in software development is to build a prototype in a dynamic language and then rewrite the application in C or Fortran for high performance. Our thesis is that this costly rewriting step can ...
    • Compiling for Software Distributed-Shared Memory Systems 

      Zhang, Kai (2000-04-03)
      In this thesis, we explore the use of software distributed shared memory (SDSM) as a target communication layer for parallelizing compilers. ForSDSM to be effective for this purpose it must efficiently support both regular and irregular communication patterns. Previous studies have demonstrated techniques that enable SDSM to achieve performance that ...
    • Compiling Parallel Matlab for General Distributions Using Telescoping Languages 

      Fletcher, Mary; Jin, Guohua; Kennedy, Ken; McCosh, Cheryl (2006-10-31)
      Matlab is one of the most popular computer languages for technical and scientific programming. However, until recently, it has been limited to running on uniprocessors. One strategy for overcoming this limitation is to introduce global distributed arrays, with those arrays distributed across the processors of a parallel machine. In this paper, we ...
    • Compiling Stencils in High Performance Fortran 

      Brickner, R. Gregg; Kennedy, Ken; Mellor-Crummey, John; Roth, Gerald H. (1997-11-12)
      For many Fortran90 and HPF programs performing dense matrix computations, the main computational portion of the program belongs to a class of kernels known as stencils. Stencil computations are commonly used in solving partial differential equations, image processing, and geometric modeling. The efficient handling of such stencils is critical for ...
    • Component-Based Adaptation for Mobile Computing 

      Lara, Eyal de (2003-01-25)
      Component-based adaptation is a novel approach for adapting applications to the limited availability of resources such as bandwidth and power in mobile environments. Component-based adaptation works by calling on the run-time APIs that modern component-based applications export. Because source code modification is not necessary, even proprietary ...
    • Composability for Application-Specific Transactional Optimizations 

      Zhang, Rui; Budimlić, Zoran; Scherer, William N., III (2010-01-21)
      Software Transactional Memory (STM) has made great advances towards acceptance into mainstream programming by promising a programming model that greatly reduces the complexity of writing concurrent programs. Unfortunately, the mechanisms in current STM implementations that enforce the fundamental properties of transactions — atomicity, consistency, ...