The proceedings contain 49 papers. The topics discussed include: Rhythm: harnessing data parallel hardware for server workloads;Paraprox: pattern-based approximation for data parallel applications;virtual ghost: prote...
详细信息
ISBN:
(纸本)9781450323055
The proceedings contain 49 papers. The topics discussed include: Rhythm: harnessing data parallel hardware for server workloads;Paraprox: pattern-based approximation for data parallel applications;virtual ghost: protecting applications from hostile operating systems;finding Trojan message vulnerabilities in distributed systems;REF: resource elasticity fairness with sharing incentives for multiprocessors;underprovisioning backup power infrastructure for datacenters;comprehending performance from real-world execution traces: a device-driver case;leveraging the short-term memory of hardware to diagnose production-run software failures;prototyping symbolic execution engines for interpreted languages;Q100: the architecture and design of a database processing unit;DianNao: a small-footprint high-throughput accelerator for ubiquitous machine-learning;disengaged scheduling for fair, protected access to fast computational accelerators;and KVM/ARM: the design and implementation of the Linux ARM hypervisor.
Linear Meld is a concurrent forward-chaining linear logic programminglanguage where logical facts can be asserted and retracted in a structured way. In Linear Meld, a program is seen as a database of logical facts an...
详细信息
ISBN:
(纸本)9781450329477
Linear Meld is a concurrent forward-chaining linear logic programminglanguage where logical facts can be asserted and retracted in a structured way. In Linear Meld, a program is seen as a database of logical facts and a set of derivation rules. The database of facts is partitioned by the nodes of a graph structure which leads to parallelism when nodes are executed simultaneously. Due to the foundations on linear logic, rules can retract facts in a declarative and structured fashion, leading to more expressive programs. We present the design and implementation of the virtual machine that we implemented to run Linear Meld on multicores, with particular focus on thread management, code organization, fact indexing, rule execution, and database organization for efficient fact insertion, lookup and deletion. Our results show that the virtual machine is capable of scaling programs with up to 16 threads and also exhibits interesting scalar performance results due to our indexing optimizations.
Purely functional programminglanguages have proven to be an attractive option for implementing parallel applications. The absence of mutable state eliminates the possibility for race conditions, which relieves progra...
详细信息
The development of robust and efficient interactive web applications is challenging, because developers have to deal with multiple programminglanguages, asynchronous events, propagating data and events between client...
详细信息
ISBN:
(纸本)9781450332101
The development of robust and efficient interactive web applications is challenging, because developers have to deal with multiple programminglanguages, asynchronous events, propagating data and events between clients and servers, data consistency and much more. Several approaches for (partly) addressing these challenges have been proposed. Two relevant ones are (1) multi-tier languages and (2) functional reactive programming (FRP). Multi-tier programminglanguages support the development of client and server in a single language, and hide much of the complexity related to distribution. FRP offers the right abstractions to make event-driven programming convenient, safe and compos-able. However, existing web frameworks and programminglanguages exploit the benefits of both approaches separately, for example by restricting the use of FRP to the client side. We propose multi-tier FRP for the Web, a novel approach to writing web applications that deeply integrates FRP and multi-tier languages, and where the whole is greater than the sum of its parts. In multi-tier FRP, the developer programs server and client together as an FRP application composed of behaviors (signals) and events. He/she chooses explicitly where the boundary between server and client is crossed. To make our approach more concrete and provide evidence of its potential, this paper presents a concrete design and implementation of a multi-tier FRP API for the web in the programminglanguage Scala, using an embedded JavaScript DSL that makes Scala usable as a multi-tier language. This allows us to present initial evidence of the benefits of the multi-tier FRP approach on example applications, and to experiment with possible answers to the remaining questions. Concretely, we show possible solutions for problems like exposing client identity on the server and efficiently preloading clients with the latest application state. Our results show that multi-tier FRP is a promising, declarative, yet practical way
Researchers have proposed always-on data-race exceptions as a way to avoid the ill effects of data races, but slow performance of accurate dynamic data-race detection remains a barrier to the adoption of always-on dat...
详细信息
ISBN:
(纸本)9781450323055
Researchers have proposed always-on data-race exceptions as a way to avoid the ill effects of data races, but slow performance of accurate dynamic data-race detection remains a barrier to the adoption of always-on data-race exceptions. Proposals for accurate low-level (e.g., hardware) data-race detection have the potential to reduce this performance barrier. This paper explains why low-level data-race detectors are wrong for programs written in high-level languages (e.g., Java): they miss true data races and report false data races in these programs. To bring the benefits of low-level datarace detection to high-level languages, we design low-level abstractable race detection (LARD), an extension of the interface between low-level data-race detectors and run-time systems that enables accurate language-level data-race detection using low-level detection mechanisms. We implement accurate LARD data-race exception support for Java, coupling a modified Jikes RVM Java virtual machine and a simulated hardware race detector. We evaluate our detector's accuracy against an accurate dynamic Java data-race detector and other low-level race detectors without LARD, showing that näive accurate low-level data-race detectors suffer from many missed and false language-level races in practice, and that LARD prevents this inaccuracy. Copyright is held by the owner/author(s).
As ARMCPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARM-based devices. We present our experiences building the Linux ARMhyper...
详细信息
ISBN:
(纸本)9781450323055
As ARMCPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARM-based devices. We present our experiences building the Linux ARMhypervisor, KVM/ARM, the first full system ARM virtualization solution that can run unmodified guest operating systems on ARM multicore hardware. KVM/ARM introduces split-mode virtualization, allowing a hypervisor to split its execution across CPU modes and be integrated into the Linux kernel. This allows KVM/ARMto leverage existing Linux hardware support and functionality to simplify hypervisor development and maintainability while utilizing recent ARMhardware virtualization extensions to run virtual machines with comparable performance to native execution. KVM/ARM has been successfully merged into the mainline Linux kernel, ensuring that it will gain wide adoption as the virtualization platform of choice for *** provide the first measurements on real hardware of a complete hypervisor using ARMhardware virtualization support. Our results demonstrate that KVM/ARM has modest virtualization performance and power costs, and can achieve lower performance and power costs compared to x86-based Linux virtualization on multicore hardware. Copyright is held by the owner/author(s).
We show how to programmatically model processes that humans use when extracting answers to queries (e.g., "Who invented typewriter?", "List of Washington national parks") from semi-structured Web p...
详细信息
ISBN:
(纸本)9781450329569
We show how to programmatically model processes that humans use when extracting answers to queries (e.g., "Who invented typewriter?", "List of Washington national parks") from semi-structured Web pages returned by a search engine. This modeling enables various applications including automating repetitive search tasks, and helping search engine developers design micro-segments of factoid questions. We describe the design and implementation of a domain-specific language that enables extracting data from a webpage based on its structure, visual layout, and linguistic patterns. We also describe an algorithm to rank multiple answers extracted from multiple webpages. On 100,000+ queries (across 7 micro-segments) obtained from Bing logs, our system LASEWEB answered queries with an average recall of 71%. Also, the desired answer(s) were present in top-3 suggestions for 95%+ cases.
The Scientific Computation language (SCL) was designed mainly for developing computational models in education and research. This paper presents the justification for such a language, its relevant features, and a case...
详细信息
ISBN:
(纸本)9781450329231
The Scientific Computation language (SCL) was designed mainly for developing computational models in education and research. This paper presents the justification for such a language, its relevant features, and a case study of a computational model implemented with the SCL. Development of the SCL language is part of the OOPsim project, which has had partial NSF support (CPATH). One of the goals of this project is to develop tools and approaches for designing and implementing computational models, emphasizing multi-disciplinary teams in the development process. A computational model is a computer implementation of the solution to a (scientific) problem for which a mathematical representation has been formulated. Developing a computational model consists of applying Computer Science concepts, principles and methods. The language syntax is defined at a higher level of abstraction than C, and includes language statements for improving program readability, debugging, maintenance, and correctness. The languagedesign was influenced by Ada, Pascal, Eiffel, Java, C, and C++. The keywords have been added to maintain full compatibility with C. The SCL language translator is an executable program that is implemented as a one-pass language processor that generates C source code. The generated code can be integrated conveniently with any C and/or C++ library, on Linux and Windows (and MacOS). The semantics of SCL is informally defined to be the same C semantics. Copyright 2014 acm.
暂无评论