Transactional Entity Framework (TEF) is a comprehensive framework for parallel computing. It is intended for servers aiming for low-latency, high-throughput, and transactional consistency. TEF leverages Automatic Transactional Memory to facilitate utilizing multicore processors as well as manycore processors. Automatic Transactional Memory is a novel programming model for writing highly parallel programs that does not change the mainstream programming model but rather enhances it with intrinsic parallelism. As a whole, TEF brings performance, productivity, and portability.
Given the increasing number of the processing elements, high-performance implies highly parallel computing which is composed of tasks executed in parallel. Transactional Entity Framework not only provides a task scheduler that hides all low-level details of efficient threading but also, using an innovative memory query API, automatically detects intersections of task's side-effects and tasks are executed lock-free and without thread context switches.
Productivity comes with reducing the complexity of programming. However, highly parallel computing on multiple processing elements does not make it simpler. Automatic Transactional Memory introduces query-oriented programming for writing highly parallel programs with intrinsic parallelism. Query-oriented programming not only increases programming productivity but also reduces costs of program maintenance and enhancements.
Software and hardware evolve on different life-cycles. Hardware engineers continue innovating to make hardware smaller, faster and more energy efficient. Business applications, on the other hand, align with their businesses. Software portability increases business value of a program as long-term investment. TEF decouples application logic of a program from system logic for an underlying computing platform; thus, the two can vary independently.