235,649 research outputs found

    Stream VByte: Faster Byte-Oriented Integer Compression

    Get PDF
    Arrays of integers are often compressed in search engines. Though there are many ways to compress integers, we are interested in the popular byte-oriented integer compression techniques (e.g., VByte or Google's Varint-GB). They are appealing due to their simplicity and engineering convenience. Amazon's varint-G8IU is one of the fastest byte-oriented compression technique published so far. It makes judicious use of the powerful single-instruction-multiple-data (SIMD) instructions available in commodity processors. To surpass varint-G8IU, we present Stream VByte, a novel byte-oriented compression technique that separates the control stream from the encoded data. Like varint-G8IU, Stream VByte is well suited for SIMD instructions. We show that Stream VByte decoding can be up to twice as fast as varint-G8IU decoding over real data sets. In this sense, Stream VByte establishes new speed records for byte-oriented integer compression, at times exceeding the speed of the memcpy function. On a 3.4GHz Haswell processor, it decodes more than 4 billion differentially-coded integers per second from RAM to L1 cache

    Spartan Daily, October 17, 2013

    Get PDF
    Volume 141, Issue 22https://scholarworks.sjsu.edu/spartandaily/1441/thumbnail.jp

    Pollutant emissions in common-rail diesel engines in extraurban cycle: rapeseed oils vs diesel fuel

    Get PDF
    The new energy strategy of EU (i.e., Directive 2009/28/EC) requires increasing the use of biofuels in transports up to at least 10% of the total fuel consumption. In the last years, the share of Diesel engines in automotive applications reached about 55% in EU market, thus trying to widen the alternatives to Diesel fuel is very important. In this framework straight vegetable oils (SVO) can represent one of the available possibilities at least in some specific applications (i.e., public transportation, hybrid or marine propulsion, etc.). SVO properties may be very different form Diesel fuel, thus operating a Diesel engine with SVO might result in some problems, especially in automotive configuration where the electronic unit acts as if it is working with Diesel fuel. This reflects in possible engine power and torque reduction, maintenance problems, and pollutant emissions during vehicles running. The latter aspect is the focus of the present paper. In this work, we used a turbocharged, four stroke, four cylinders, water cooled, commonrail multijet Diesel engine in automotive configuration to simulate the extraurban cycle according to the EU standard, comparing pollutant emissions in case of SVO and gasoil fuelling

    Prompt Application-Transparent Transaction Revalidation in Software Transactional Memory

    Get PDF
    Software Transactional Memory (STM) allows encapsulating shared-data accesses within transactions, executed with atomicity and isolation guarantees. The assessment of the consistency of a running transaction is performed by the STM layer at specific points of its execution, such as when a read or write access to a shared object occurs, or upon a commit attempt. However, performance and energy efficiency issues may arise when no shared-data read/write operation occurs for a while along a thread running a transaction. In this scenario, the STM layer may not regain control for a considerable amount of time, thus not being able to early detect if such transaction has become inconsistent in the meantime. To tackle this problem we present an STM architecture that, thanks to a lightweight operating system support, is able to perform a fine-grain periodic (hence prompt) revalidation of running transactions. Our proposal targets Linux and x86 systems and has been integrated with the open source TinySTM package. Experimental results with a port of the TPC-C benchmark to STM environments show the effectiveness of our solution

    From waste product to blood, brains and narratives : developing a pluralist sociology of contributions to health research

    Get PDF
    Funded by National Institute for Health Research (NIHR) Oxford Biomedical Research CentrePeer reviewedPublisher PD

    Static locality analysis for cache management

    Get PDF
    Most memory references in numerical codes correspond to array references whose indices are affine functions of surrounding loop indices. These array references follow a regular predictable memory pattern that can be analysed at compile time. This analysis can provide valuable information like the locality exhibited by the program, which can be used to implement more intelligent caching strategy. In this paper we propose a static locality analysis oriented to the management of data caches. We show that previous proposals on locality analysis are not appropriate when the proposals have a high conflict miss ratio. This paper examines those proposals by introducing a compile-time interference analysis that significantly improve the performance of them. We first show how this analysis can be used to characterize the dynamic locality properties of numerical codes. This evaluation show for instance that a large percentage of references exhibit any type of locality. This motivates the use of a dual data cache, which has a module specialized to exploit temporal locality, and a selective cache respectively. Then, the performance provided by these two cache organizations is evaluated. In both organizations, the static locality analysis is responsible for tagging each memory instruction accordingly to the particular type(s) of locality that it exhibits.Peer ReviewedPostprint (published version
    corecore