A PARallel LANguage for Symbolic Expression for 80x86 Symmetric Multiprocessors under Windows NT 4.0, 2000, XP
PARLANSE is an inherently parallel programming language designed to support computationally expensive symbolic applications requiring medium grain irregular parallelism (~100 to ~1,000 machine instructions) while providing robustness through efficient error handling.
Application areas:
- Symbolic computation e.g., formula manipulation or symbolic simulation
- Transformation systems (e.g. DMS)
- Expert systems e.g., parallel symbolic inference
- Optimizing compilers e.g., symbolic analysis
- Runtime systems requiring high performance e.g., low overhead error recovery
- Data mining e.g., massive irregular data in parallel query evaluation
Language features:
- Conventional language facilities:
- Strongly typed data, arithmetic, variables, intrinsic UNICODE character set
- Safe pointers, dynamic allocation from memory pools, bulk release of memory pool
- Assignments, conditionals, loops, functions, procedures, parameters
- Lambda constants, lexical closures
- Software engineering support:
- Parameterized exceptions, "try" and exception recovery clauses
- Type declarations with range constraints and data assertions
- Structures, modules and namespace management
- Compile time, run-time, and debug time assertions
- Explicit declaration compile-time checking of side effects
- Parallelism:
- Extremely fast grain scheduling (10’s of machine instructions)
PARLANSE applications outperform equivalent (W/NT native) threaded C programs by factor of 2) - Explicit parallel, concurrent, and static partial-orders; implicit functional parallelism ("fair" scheduler allows development on uniprocessor systems)
- Intrinsic synchronizing primitives: semaphores, futures, grain abort
- Efficient exception management tightly integrated with parallelism (zero overhead for normal path execution)
Target Execution Environments:
Currently 1-32 processors SMP Pentium Pro under Windows NT 4.0, Windows 2000 and Windows XP.
- Shared address space for grains
- Uniprocessor to 10s of symmetric multiprocessors (A.D. 2001 workstation)
- Access to underlying native O/S calls via foreign function interface
Additional Information:
PARLANSE is in everyday use for the construction of DMS. SD is presently looking for other early adopters.
PARLANSE R&D was funded by the National Institute of Standards and Technology, Advanced Technology Program
