PolyCore's Poly-Platform 2.0 includes a graphical configuration tool that maps an application to a processor's multiple cores. With the tool, developers can define memory use and control interprocessor communication graphically. The latest version offers visual feedback for engineers mapping their applications to each core. "The goal is to make the best use of the resources you have in your system," Gribb said. "You might have one processor that's using more compute time than another. The idea is to balance the load across the processors."
TI's Multicore Navigator takes a different approach by implementing the solution in hardware. It specifies data structures for communication modules, thereby facilitating direct memory access (DMA) and providing a consistent API to the host software. TI says the feature, available on the company's Keystone-based digital signal processors, minimizes complexity and makes the most efficient use of memory. "The idea is to build all of the things into hardware that assist the software in a multicore environment," Flanagan said.
Gribb said there's a big need for such solutions. He has seen users implement applications on multicore devices, only to find that one core wasn't running. He has also seen engineers try to adapt applications written in assembly language to multicore environments.
As software grows more complex and developers try to reduce power consumption, more designers will reach for multicore devices and then need help, Gribb said. "In almost every industry, consolidation is here. Eventually, engineers want to add features and move to multiple cores. When they consolidate, they have to deal with these issues."
Shifting to multithreaded designs is a major effort. It's good to see more than the mere handful of design products that were available a few years ago to help make these shifts.
I think Zihong Lin stated something like people moving from single-core programming to multicore have to now think about partitioning the software. When I hear partitioning I think architecture. So regardless if you have firmware or software design, one or multicore upfront planning and architecture should always be done prior to coding. I've seen many poor designs because of the lack of pre-planning. I'm trying to build my software skills, think I will check this tool out.
Interesting article. My experience is mainly in firmware/FPGA/HDL designs and grow up not using schematic capture or graphical tools for development. The main reason for this was coding offered more flexibility. I'm hoping the new generation of graphical tools is much better.
Good point, Bill. National Instruments has been offering help with multicore for at least five years. The tools are there for multicore, and they're coming from multiple directions.
I don't want to sound like a shill for one of the advertisers of Design News, but in addition to these fantastic solutions from PolyCore Software and Texas Instruments, there is another Texas-based company, National Instruments, that has been evangelizing the utility of parallel, graphical, data flow programming that is a perfect fit for multi-threaded and multi-core processes. With its popularity in the engineering disciplines, there is no lack of fans for LabVIEW, but over the past 30 years it has taken a back seat to the popularity of other languages like such as C and Java in the non-engineering markets. Perhaps the rise of additional graphical programming tools like Poly-Platform and others will slowly move us past the bottleneck of text-based development environments and popularize the elegance of graphical programming.
Beth, yes this type of tool is needed. It is akin to programming a FPGA with an soft processor. You then profile the application to determine which functions can be moved to the FPGA fabric. At least with multi-core you do not have the same problem you might have with multicomputers, or machines that are seperate with an interconnection network. That will probably be the next item (there are lots of computers in a modern car, for example). Perhaps we will see some consolidation there.
Making the transition from single core to multicore programming is no easy task, and design and software engineers are going to need a helping hand. Software capabilities always lag behind what the power of the hardware promises. It took some time before visualization software, CAD tools, simulation software, and other development platforms were able to take advantage of the parallel processing capabilities of multicore servers. In fact, that transformation is still underway. I would expect the same with this kind of platform.
A new book by Thomas Edison's great-grandniece takes on the notion that he was a lone-wolf inventor and replaces it with an image of a man who ascribed great value to the ideas of colleagues.
In response to rising interest in autonomous vehicles, the federal government has called upon states not to authorize operation of self-driving cars, except for the purpose of testing.
With LEDs dropping in price virtually every year, automakers have begun employing them, not only on luxury vehicles, but on entry-level models, as well.
Using almost 200 light-emitting diodes in the front and back of the new 2014 CTS, Cadillac designers are showing how LEDs can change the character of a vehicle.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 5
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This radio show will show what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.