67 research outputs found
Low-Level Haskell Code: Measurements and Optimization Techniques
Haskell is a lazy functional language with a strong static type system and
excellent support for parallel programming. The language features of Haskell
make it easier to write correct and maintainable programs, but execution speed
often suffers from the high levels of abstraction. While much past research
focuses on high-level optimizations that take advantage of the functional
properties of Haskell, relatively little attention has been paid to the
optimization opportunities in the low-level imperative code generated during
translation to machine code. One problem with current low-level optimizations
is that their effectiveness is limited by the obscured control flow caused by
Haskell's high-level abstractions. My thesis is that trace-based optimization
techniques can be used to improve the effectiveness of low-level optimizations
for Haskell programs. I claim three unique contributions in this work.
The first contribution is to expose some properties of low-level Haskell codes
by looking at the mix of operations performed by the selected benchmark codes
and comparing them to the low-level codes coming from traditional programming
languages. The low-level measurements reveal that the control flow is obscured
by indirect jumps caused by the implementation of lazy evaluation,
higher-order functions, and the separately managed stacks used by Haskell
programs.
My second contribution is a study on the effectiveness of a dynamic binary
trace-based optimizer running on Haskell programs. My results show that while
viable program traces frequently occur in Haskell programs the overhead
associated with maintaing the traces in a dynamic optimization system outweigh
the benefits we get from running the traces. To reduce the runtime overheads,
I explore a way to find traces in a separate profiling step.
My final contribution is to build and evaluate a static trace-based optimizer
for Haskell programs. The static optimizer uses profiling data to find traces
in a Haskell program and then restructures the code around the traces to
increase the scope available to the low-level optimizer. My results show that
we can successfully build traces in Haskell programs, and the optimized code
yields a speedup over existing low-level optimizers of up to 86%
with an average speedup of 5% across 32 benchmarks
New fossil remains of Homo naledi from the Lesedi Chamber, South Africa
The Rising Star cave system has produced abundant fossil hominin remains within the
Dinaledi Chamber, representing a minimum of 15 individuals attributed to Homo naledi. Further
exploration led to the discovery of hominin material, now comprising 131 hominin specimens,
within a second chamber, the Lesedi Chamber. The Lesedi Chamber is far separated from the
Dinaledi Chamber within the Rising Star cave system, and represents a second depositional context
for hominin remains. In each of three collection areas within the Lesedi Chamber, diagnostic
skeletal material allows a clear attribution to H. naledi. Both adult and immature material is present.
The hominin remains represent at least three individuals based upon duplication of elements, but
more individuals are likely present based upon the spatial context. The most significant specimen is
the near-complete cranium of a large individual, designated LES1, with an endocranial volume of
approximately 610 ml and associated postcranial remains. The Lesedi Chamber skeletal sample
extends our knowledge of the morphology and variation of H. naledi, and evidence of H. naledi
from both recovery localities shows a consistent pattern of differentiation from other hominin
species.SP201
New fossil remains of Homo naledi from the Lesedi Chamber, South Africa
The Rising Star cave system has produced abundant fossil hominin remains within the Dinaledi Chamber, representing a minimum of 15 individuals attributed to Homo naledi. Further exploration led to the discovery of hominin material, now comprising 131 hominin specimens, within a second chamber, the Lesedi Chamber. The Lesedi Chamber is far separated from the Dinaledi Chamber within the Rising Star cave system, and represents a second depositional context for hominin remains. In each of three collection areas within the Lesedi Chamber, diagnostic skeletal material allows a clear attribution to H. naledi. Both adult and immature material is present. The hominin remains represent at least three individuals based upon duplication of elements, but more individuals are likely present based upon the spatial context. The most significant specimen is
the near-complete cranium of a large individual, designated LES1, with an endocranial volume of approximately 610 ml and associated postcranial remains. The Lesedi Chamber skeletal sample extends our knowledge of the morphology and variation of H. naledi, and evidence of H. naledi from both recovery localities shows a consistent pattern of differentiation from other hominin species
Façade of the University of Salamanca [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
The peasants bartered and gossiped [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
Salamanca from the Puente Romano [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
Interior of the Cathedral, Ávila [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
The roman aqueduct [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
Masive walls and tower that girdle it without a breach [Material gráfico]: [Ávila]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
A corner of the Feria, Avila [Material gráfico]
Copia digital. Valladolid : Junta de Castilla y León. Consejería de Cultura y Turismo, 2009-201
- …