At ESC Silicon Valley 2011, McObject’s Chief Technology Officer Speaks on Parallel Programming Optimization
April 6, 2011 — McObject®, developer of the eXtremeDB® In-Memory Database System (IMDS), announced that Co-Founder and Chief Technology Officer Andrei Gorine will deliver the paper and presentation “Synchronization and Parallel Programming” at ESC Silicon Valley 2011, one of the world’s premier embedded systems development conferences, on May 4, 2011. McObject is also an exhibitor at ESC Silicon Valley 2011, in booth 715 – please contact the company if you are interested in arranging a meeting or a demonstration of its technology at the event.
As part of the Programming Languages and Techniques track, “Synchronization and Parallel Programming” addresses a key question in embedded development for multi-core systems: as CPUs gain execution blocks and cores, how can applications ensure that execution threads share resources such as memory buffers and files efficiently? If resource access is synchronized improperly, results can range from applications reading stale data, to deadlocks that can lead to system failure.
To prevent such outcomes, developers typically take advantage of mechanisms provided by operating systems to make memory writes visible to all tasks, regardless of the CPU on which the tasks are executing. These instructions are usually encapsulated in one of the operating system’s “synchronization primitives” such as mutexes, semaphores, events, and barriers.
Each of these primitives is convenient and efficient to use in certain application scenarios, and potentially destructive in others, with risks that include deadlocks and race conditions. Gorine’s presentation at ESC Silicon Valley 2011 introduces the key synchronization primitives and examines their use in different parallel programming situations.
“Synchronization and Parallel Programming” draws on concepts from the field of database management systems. To ensure records’ consistency, database systems must regulate concurrent access to shared data, e.g. from multiple clients, processes, and tasks/threads.
To accomplish this, database systems implement locking. Locking mechanisms are generally built up from OS synchronization primitives, and their varying approaches mirror strategies for synchronization in a broader parallel programming context. For example, concurrency models can be “optimistic” or “pessimistic” and can have different levels of granularity. Tradeoffs must be considered, such as the high concurrency of record-level locking versus its cost in memory and CPU overhead. The choice of design critically affects performance and scalability.
“Synchronization and Parallel Programming” also examines an innovative approach to synchronization using CPU instructions instead of OS primitives. The presentation emphasizes the pros and cons of different approaches, with practical lessons that can be applied to regulating access to shared resources.
About Andrei Gorine
As McObject’s CTO, Andrei Gorine leads the company’s product engineering, and has driven growth of the eXtremeDB In-Memory Database System from inception to its current strong presence in virtually all embedded systems market segments. His background includes senior positions with leading embedded systems and database software companies, and expertise in providing embedded solutions in such fields as industrial control, industrial preventative maintenance, satellite and cable television, and telecommunications equipment. Gorine holds a Masters degree in Computer Science from the Moscow Institute of Electronic Machinery and is a member of IEEE and ACM.
Founded by embedded database and real-time systems experts, McObject offers proven data management technology that makes applications and devices smarter, more reliable and more cost-effective to develop and maintain. McObject counts among its customers industry leaders such BAE Systems, Siemens, Phillips, EADS, JVC, Tyco Thermal Controls, F5 Networks, CA, Motorola and Boeing. McObject, based in Issaquah, WA, is committed to providing innovative technology and first-rate services to customers and partners. The company can be reached at +1-425-888-8505, or visit www.mcobject.com.
McObject and eXtremeDB are registered trademarks of McObject LLC. All other company or product names mentioned herein are trademarks or registered trademarks of their respective owners.