578 research outputs found
A Parallel Stack Processor to Reduce Procedure-Call Overhead
Coordinated Science Laboratory was formerly known as Control Systems LaboratoryNaval Electronics Systems Command VHSIC / N00039-80-C-0556Joint Services Electronics Program / N00014-84-C-0149Ope
Java Grande Forum Report: Making Java Work for High-End Computing
This document describes the Java Grande Forum and includes its initial deliverables.Theseare reports that convey a succinct set of recommendations from this forum to SunMicrosystems and other purveyors of Javaâ„¢ technology that will enable GrandeApplications to be developed with the Java programming language
Application of numerical interval analysis for statistical computing in a massively parallel computing environment
Interval analysis is a relatively new method in performing scientific computation. It uses intervals as basic computing elements and has a set of arithmetic that is different from the traditional one. The shortcomings of conventional computation that motivate the development of interval analysis are the inaccuracy caused by the finite number systems of computers and the uncertainty of various approximations. Using interval analysis we can manage to have the theoretically true result after each computing step contained in the computed interval. Although the exact location of the true value is not determined (sometimes it is even not possible), we know a pair of guaranteed lower and upper bounds of it. Using various techniques we can shrink the length of the interval, hence obtain highly accurate results;This dissertation investigates the use of interval analysis in statistical computing. We focus on two major applications: bounding computational errors and global optimization. Bounding computational errors is demonstrated by high dimensional Normal and t probability computations. Both the rounding errors from the finite nature of machine computing and the approximation errors from mathematical approximation are taken into account. We are able to compute high dimensional probabilities to high accuracy, which can not be achieved using traditional methods. For global optimization, we use the capability of interval analysis to compute the range of a function over a finite region. This can give us idea of the variation of the objective function value over that region. Within a finite region, the algorithm can throw away local optima, and if there exists more than one global optimum we are able to locate them all. This application is demonstrated by several examples in Statistics and Probability;;The use of interval analysis is at the expense of running time being large. In order to make it practical to use, we develop all the algorithms on a massively parallel machine. This way we obtain guaranteed highly accurate results within reasonable running times
EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
Low-level programming languages with weak/static type systems, such as C and
C++, are vulnerable to errors relating to the misuse of memory at runtime, such
as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such
errors account for many security and other undefined behavior bugs for programs
written in these languages. In this paper, we introduce the notion of
dynamically typed C/C++, which aims to detect such errors by dynamically
checking the "effective type" of each object before use at runtime. We also
present an implementation of dynamically typed C/C++ in the form of the
Effective Type Sanitizer (EffectiveSan). EffectiveSan enforces type and memory
safety using a combination of low-fat pointers, type meta data and type/bounds
check instrumentation. We evaluate EffectiveSan against the SPEC2006 benchmark
suite and the Firefox web browser, and detect several new type and memory
errors. We also show that EffectiveSan achieves high compatibility and
reasonable overheads for the given error coverage. Finally, we highlight that
EffectiveSan is one of only a few tools that can detect sub-object bounds
errors, and uses a novel approach (dynamic type checking) to do so.Comment: To appear in the Proceedings of 39th ACM SIGPLAN Conference on
Programming Language Design and Implementation (PLDI2018
HardScope: Thwarting DOP with Hardware-assisted Run-time Scope Enforcement
Widespread use of memory unsafe programming languages (e.g., C and C++)
leaves many systems vulnerable to memory corruption attacks. A variety of
defenses have been proposed to mitigate attacks that exploit memory errors to
hijack the control flow of the code at run-time, e.g., (fine-grained)
randomization or Control Flow Integrity. However, recent work on data-oriented
programming (DOP) demonstrated highly expressive (Turing-complete) attacks,
even in the presence of these state-of-the-art defenses. Although multiple
real-world DOP attacks have been demonstrated, no efficient defenses are yet
available. We propose run-time scope enforcement (RSE), a novel approach
designed to efficiently mitigate all currently known DOP attacks by enforcing
compile-time memory safety constraints (e.g., variable visibility rules) at
run-time. We present HardScope, a proof-of-concept implementation of
hardware-assisted RSE for the new RISC-V open instruction set architecture. We
discuss our systematic empirical evaluation of HardScope which demonstrates
that it can mitigate all currently known DOP attacks, and has a real-world
performance overhead of 3.2% in embedded benchmarks
- …