Here you can find answers to frequently asked questions regarding topics related to PolyCore Software and our products. If you have questions you would like to share with us and others, please mail us at: firstname.lastname@example.org
Is multicore really a big deal, when dual and quad core PC’s run the same software faster without change?
General computing where several applications are running at the same time, like Word, Excel, etc. on a PC is easier to take advantage of multicore computing, than embedded systems that often have only one (or at least one dominating) application. In the general computing case with multiple applications (applications are generally “contained” and independent from each other) performance is gained from running the applications in parallel on separate cores. In the embedded case a single application will have to be distributed across multiple cores to take advantage of the multiple cores. The latter can be a substantially more complex problem and there are limits to how much can run in parallel within an application and the amount of potential parallelism can also vary widely. As the number of cores increase, performance gains from parallelisms will also become more challenging in the general computing environment.
What is MCAPI, and how can MCAPI help me?
MCAPI is a Multicore Communications API from the Multicore Association, providing for consistent communication across multiple dimensions of heterogeneity, types of cores, interconnects and OS’s, designed specifically for closely distributed computing (multicore or multiple chips on a board). MCAPI provides three modes of communication, connectionless messages, packet channels and scalar channels. You can use MCAPI for communication across multicore hardware and software from multiple vendors. The MCAPI standard was developed by a cross-industry group of companies, is open and available for download at the Multicore Association webpage.
Is Poly-Platform really useful in a dual-core system?
Yes. By using Poly-Platform on today’s processors, your application is enabled to run on tomorrow’s processors. While it is not that difficult to create a simple shared memory based communication mechanism in a dual-core system, reconfiguring and optimizing with the PolyCore Software tools is easier than recoding your communications mechanism . When 4, 8 or more cores are needed in your design, Poly-Platform scales with you. MCAPI (Multicore Communications API) provides a standard programming model that you can reuse. With Poly-Platform, changes are simply handled by reconfiguration, scaling is easy and topologies are validated, and MCAPI provides consistency and longevity as your multicore platform evolves.
Is Poly-Messenger/MCAPI intended for Asymmetric Multi-Processing (AMP) only or does it make sense to use it also in an SMP (symmetric) environment?
While the most obvious use of Poly-Messenger is in AMP and AMP+SMP environments, a pure SMP environment also shares the benefits. Poly-Messenger/MCAPI provides the data locking required during communication, thus relieving the developer of providing locks if shared memory is used. Poly-Messenger also provides a good communication alternative to the sometimes slower native pipes and sockets. Using a consistent communication model and standard API for AMP and SMP provides for simple application scalability and improves software reuse.