Learn More
The client computing platform is moving towards a heterogeneous architecture consisting of a combination of cores focused on scalar performance, and a set of throughput-oriented cores. The throughput oriented cores (e.g. a GPU) may be connected over both coherent and non-coherent interconnects, and have different ISAs. This paper describes a programming(More)
Small scale chip multiprocessors are being shipped in volume by all microprocessor vendors. Many of these vendors are also investigating large scale chip multiprocessors targeted towards highly parallel workloads in media, graphics, and others. One of the most challenging aspects of architecting terascale processors is the design of a scalable memory(More)
The client computing platform is moving towards a heterogeneous architecture that combines scalar-oriented CPU cores and throughput-oriented accelerator cores. Recognizing that existing programming models for such heterogeneous platforms are still difficult for most programmers, we advocate a shared virtual memory programming model to improve(More)
• Why software managed coherence – No or minimal hardware – Fit in the emerging applications – Flexible dynamically reconfigurable coherence islands – Support heterogeneous many-core architecture • Prototype on SCC – Efficient shared virtual memory implementation – Multiple consistency models – Comparable performance vs. hardware coherence
A problem that must be faced when designing systems based on network processors (NPs) is how to assign the packet-processing tasks to the processor pipeline consisting of many processing engines. Nowadays, this work is done manually, which is error-prone and inefficient. To alleviate this, this paper proposes a genetic algorithm-based method to assign(More)
Computer systems are moving towards a heterogeneous architecture with a combination of one or more CPUs and one or more accelerator processors. Such heterogeneous systems pose a new challenge to the parallel programming community. Languages such as OpenCL and CUDA provide a program environment for such systems. However, they focus on data parallel(More)
JavaScript frameworks, such as jQuery, are widely used for developing web applications. To facilitate using these JavaScript frameworks to implement a feature (e.g., functionality), a large number of programmers often search for code snippets that implement the same or similar feature. However, existing code search approaches tend to be ineffective, without(More)