26,281 research outputs found

    Enhancing R with Advanced Compilation Tools and Methods

    Full text link
    I describe an approach to compiling common idioms in R code directly to native machine code and illustrate it with several examples. Not only can this yield significant performance gains, but it allows us to use new approaches to computing in R. Importantly, the compilation requires no changes to R itself, but is done entirely via R packages. This allows others to experiment with different compilation strategies and even to define new domain-specific languages within R. We use the Low-Level Virtual Machine (LLVM) compiler toolkit to create the native code and perform sophisticated optimizations on the code. By adopting this widely used software within R, we leverage its ability to generate code for different platforms such as CPUs and GPUs, and will continue to benefit from its ongoing development. This approach potentially allows us to develop high-level R code that is also fast, that can be compiled to work with different data representations and sources, and that could even be run outside of R. The approach aims to both provide a compiler for a limited subset of the R language and also to enable R programmers to write other compilers. This is another approach to help us write high-level descriptions of what we want to compute, not how.Comment: Published in at http://dx.doi.org/10.1214/13-STS462 the Statistical Science (http://www.imstat.org/sts/) by the Institute of Mathematical Statistics (http://www.imstat.org

    Building Efficient Query Engines in a High-Level Language

    Get PDF
    Abstraction without regret refers to the vision of using high-level programming languages for systems development without experiencing a negative impact on performance. A database system designed according to this vision offers both increased productivity and high performance, instead of sacrificing the former for the latter as is the case with existing, monolithic implementations that are hard to maintain and extend. In this article, we realize this vision in the domain of analytical query processing. We present LegoBase, a query engine written in the high-level language Scala. The key technique to regain efficiency is to apply generative programming: LegoBase performs source-to-source compilation and optimizes the entire query engine by converting the high-level Scala code to specialized, low-level C code. We show how generative programming allows to easily implement a wide spectrum of optimizations, such as introducing data partitioning or switching from a row to a column data layout, which are difficult to achieve with existing low-level query compilers that handle only queries. We demonstrate that sufficiently powerful abstractions are essential for dealing with the complexity of the optimization effort, shielding developers from compiler internals and decoupling individual optimizations from each other. We evaluate our approach with the TPC-H benchmark and show that: (a) With all optimizations enabled, LegoBase significantly outperforms a commercial database and an existing query compiler. (b) Programmers need to provide just a few hundred lines of high-level code for implementing the optimizations, instead of complicated low-level code that is required by existing query compilation approaches. (c) The compilation overhead is low compared to the overall execution time, thus making our approach usable in practice for compiling query engines

    The Poor Man’s Fight: Mercenary Soldiers in the Civil War: An Interview with William Marvel

    Full text link
    Over the course of this year, we’ll be interviewing some of the speakers from the upcoming 2018 CWI conference about their talks. Today we are speaking with William Marvel, an independent scholar of mid-19th-century American History. Marvel is the author of eighteen books, including most recently, Lincoln’s Mercenaries: Economic Motivation among Union Soldiers, which is due for release by LSU Press in the early fall of 2018. Some of Marvel’s additional publications include: Lincoln’s Autocrat: The Life of Edwin Stanton (UNC Press, 2015), A Place Called Appomattox (UNC Press, 2000), and Andersonville: The Last Depot (UNC Press, 1994), for which he won a Lincoln Prize, the Douglas Southall Freeman History Award, and the Malcolm and Muriel Barrow Bell Award. He has also written a four-volume history of the Civil War that was published by Houghton Mifflin between 2006 and 2011. Mr. Marvel is currently working on a biography of Fitz John Porter. [excerpt

    The JStar language philosophy

    Get PDF
    This paper introduces the JStar parallel programming language, which is a Java-based declarative language aimed at discouraging sequential programming, en-couraging massively parallel programming, and giving the compiler and runtime maximum freedom to try alternative parallelisation strategies. We describe the execution semantics and runtime support of the language, several optimisations and parallelism strategies, with some benchmark results

    Experimenting with independent and-parallel prolog using standard prolog

    Get PDF
    This paper presents an approximation to the study of parallel systems using sequential tools. The Independent And-parallelism in Prolog is an example of parallel processing paradigm in the framework of logic programming, and implementations like <fc-Prolog uncover the potential performance of parallel processing. But this potential can also be explored using only sequential systems. Being the spirit of this paper to show how this can be done with a standard system, only standard Prolog will be used in the implementations included. Such implementations include tests for parallelism in And-Prolog, a correctnesschecking meta-interpreter of <fc-Prolog and a simulator of parallel execution for <fc-Prolog

    Under the Enemy Flag: Prisoner of War Experiences: An Interview with Angela Zombek and Michael Gray

    Full text link
    Over the course of this year, we’ll be interviewing some of the speakers from the upcoming 2018 CWI conference about their talks. Today we are speaking with Angie Zombek, Assistant Professor of History at St. Petersburg College. Dr. Zombek is the author of numerous articles and essays, including “Paternalism and Imprisonment at Castle Thunder: Reinforcing Gender Norms in the Confederate Capital,” which appeared in the scholarly journal, Civil War History in September of 2017; “Citizenship – Compulsory or Convenient: Federal Officials, Confederate Prisoners, and the Oath of Allegiance,” in Paul J. Quigley’s edited volume, The American Civil War and the Transformation of Citizenship,(LSU Press, forthcoming, Summer 2018); and “Catholics in Captivity: Priests, Prisoners, and the Living Faith in Civil War Military Prisons,” in Michael P. Gray’s edited volume, Civil War Prisons II, (forthcoming from Kent State University Press). Her first book, Penitentiaries, Punishment, and Military Prisons: Familiar Responses to an Extraordinary Crisis during the American Civil War, is forthcoming from Kent State University Press in June, 2018. Dr. Zombek’s current research focuses on the Civil War’s impact on the Florida Gulf Coast and Key West. She has presented some of her research on Unionism in Civil War Era Tampa Bay, and is currently researching prisoners of war at Fort Taylor (Key West), and Key West under martial law. [excerpt
    • 

    corecore