43544513
Conservativeness of Lambda over lambda-sigma-Calculus
32331384
Intuitionistic and Classical Natural Deduction Systems with the Catch and the Throw Rules
27739305
Explicit Environments
We introduce λƐ, a simply typed calculus with environments as first class values. As well as the usual constructs of λ and application, we have e[[a]] which evaluates term a in an environment e. Our environments are a set of variable-value pairs, but environments can also be computed by function application and evaluation in some other environments. The notion of environments here is a generalization of explicit substitutions and records. We show that the calculus has desirable properties such as subject reduction, confluence, conservativity over the simply typed λβ-calculus and strong normalizability.
46610662
CAL: A Computer Assisted Learning System for Computation and Logic
In this paper, we describe a computer system CAL which assists students' understanding of a lecture course in logic and computation. We introduce a new foundational theory of expressions, which is inspired by the theory of expressions due to Martin-Lof [6], and use the expressions determined by the theory to implement various syntactic objects in CAL. We also introduce the concept of derivation game, and show that various logical and computational systems given in the lecture course can be defined uniformly by derivation games.
27411446
A Purely Functional Language with Encapsulated Assignment
We introduce a new functional programming language with assignment. The language, which we call Λ, is a conservative extension of the λβ-calculus, and as such it it a higher order functional language in which we can manipulate functions as first class objects. Λ has a lazy evaluation semantics and Λ programs can be evaluated in parallel. Λ also supports imperative programming in terms of assignments. All the assingments in Λ are encapsulated within suitable scope of the let constructs. The language is therefore side-effect free and referentially transparent. We show by an example that we can smoothly reason about Λ programs.
8686702
Theory of Judgments and Derivations
We propose a computational and logical framework NF (Natural Framework) which is suitable for presenting mathematics formally. Our framework is an extendable framework since it is open-ended both computationally and logically in the sense of Martin-Lof's theory or types. NF is developed in three steps. Firstly, we introduce a theory of expressions and schemata which is used to provide a universe for representing mathematical objects, in particular, judgments and derivations as well as other usual mathematical objects. Secondly, we develop a theory of judgments within the syntactic universe of expressions. Finally, we introduce the notions of derivation and derivation game and will show that we can develop mathematics as derivation games by regarding mathematics as an open-ended process of defining new concepts and deriving new judgments. Our theory is inspired by Martin-Lof's theory of expressions and Edinburgh LF, but conceptually much simpler. Our theory is also influenced by Gentzen's natural deduction systems.
6990232
OmniRPC: A Grid RPC Facility for Cluster and Global Computing in OpenMP
Omni remote procedure call facility, OmniRPC, is a thread-safe grid RPC facility for cluster and global computing environments. The remote libraries are implemented as executable programs in each remote computer, and OmniRPC automatically allocates remote library calls dynamically on appropriate remote computers to facilitate location transparency. We propose to use OpenMP as an easy-to-use and simple programming environment for the multi-threaded client of OmniRPC. We use the POSIX thread implementation of the Omni OpenMP compiler which allows multi-threaded execution of OpenMP programs by POSIX threads even in a single processor. Multiple outstanding requests of OmniRPC calls in OpenMP work-sharing construct are dispatched to different remote computers to exploit network-wide parallelism.
280911
Multiple instruction streams in a highly pipelined processor
In a highly pipelined processor, instruction dependencies involving both and control information often limit its potential performance. A cyclic pipeline machine allows multiple instruction streams to share these pipeline stages in time to remove the data and control dependencies. These multiple instruction streams exploit more parallelism in parallel programs. It provides an alternative architectural solution for new technologies such as GaAs and Josephson logic device, which prefer a highly pipelined architecture. The authors define the basic model of a cyclic pipeline machine, and examine the performance improvement of various configurations of cyclic pipeline machines compared to the same degree of pipelining of a conventional pipelined processor. The simulation results indicate that pipelining in the individual instruction streams increases the performance to maximize the utilization of resources in a highly pipelined processor.<<ETX>>
43068454
EM-C: Programming with Explicit Parallelism and Locality for EM-4 Multiprocessor
EM-C is a parallel extension of the C programming language designed for efficient parallel programming in the EM-4 multiprocessor.
195869612
The EM-X parallel computer: architecture and basic performance
Latency tolerance is essential in achieving high performance on parallel computers for remote function calls and fine-grained remote memory accesses. EM-X supports interprocessor communication on an execution pipeline with small and simple packets. It can create a packet in one cycle, and receive a packet from the network in the on-chip buffer without interruption. EM-X invokes threads on packet arrival, minimizing the overhead of thread switching. It can tolerate communication latency by using efficient multi-threading and optimizing packet flow of fine grain communication. EM-X also supports the synchronization of two operands, direct remote memory read/write operations and flexible packet scheduling with priority. The paper describes distinctive features of the EM-X architecture and reports the performance of small synthetic programs and larger more realistic programs.
12665758
Direct Execution of Linux Binary on Windows for Grid RPC Workers
Local area or campus-type networks consist of PCs using different operating systems such as Windows and Linux. These PCs are expected to have enormous potential computing power for grid computing. The majority of PCs in this type of environment run on Windows, while grid applications and middleware are often developed on Linux. The challenge is to absorb the heterogeneity of operating systems. Grid RPC is a promising programming model for the development of grid applications. We have designed and implemented an agent called BEE, which enables direct execution of Linux binary programs on Windows for a grid RPC worker. We have integrated the BEE agent into an OmniRPC system in order to make use of Windows PCs as computing resources in a hybrid grid environment combining Windows PCs into grid computing resources. The BEE agent allows Linux binaries of the program of the OmniRPC worker to be exported and run under Windows without any modification of its Linux binaries. The results of our experiments show that the performance of a worker program using BEE is almost the same as that of Windows native binary and Cygwin and is better that that of using VMware. We have demonstrated a hybrid grid environment combining Window PCs in a conventional grid of Linux nodes.