235,649 research outputs found
Stream VByte: Faster Byte-Oriented Integer Compression
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
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
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
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
Funded by National Institute for Health Research (NIHR) Oxford Biomedical Research CentrePeer reviewedPublisher PD
Static locality analysis for cache management
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
- …