Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Different software, programming

Интегрирование функций | Возможности на один ватт мощности | Разное программное обеспечение, программирование | IPhone твой следующий HMI | Необходимость контроля |


Читайте также:
  1. A different approach to the job
  2. A Teacher’s Lot Is Certainly a Different One
  3. A The following are dictionary definitions of different types of markets.
  4. A) Read the text below to find out about using gestures in different cultures.
  5. Adverbs which have different meanings
  6. Aesthetics as a differentiating factor
  7. Algorithms and programming languages

Switching to MCPs is not an evolutionary step. It requires software designers to think differently than in the past, according to NI’s Weltzin. “Designers must concentrate on parallelism and consciously split their applications into multiple threads to realize the benefits. This represents the central challenge to MCP technology’s adoption today,” he said. “Researchers, tool providers, and engineers/programmers must work on this issue together.”

Developers face other challenges in working with parallel code. First, the mechanism for connecting data caches among cores—or memory architecture—affects the rate at which code running on those cores can share data, hence it is vital to overall application performance. Debugging and visualizing interactions between threads is a further challenge, Weltzin explained.

He mentioned availability of software tools to ease memory cache issues and debugging, but more innovation is needed (see more online). “Essentially, these tools take information about dependencies specified in code and then use that information to automatically map applications to multi-core CPUs,” Weltzin said. An underlying technology called “dataflow” removes the need for designers to manually identify parallel sections of code. Dataflow is part of NI’s LabVIEW software, which is typically used with up to eight CPU cores. “In addition, many software tool providers are actively investing in debugging tools that allow developers to trace the execution of individual threads and visualize interactions between threads,” Weltzin continued.

Processors with four or more cores are readily available, with much higher core count under development due to relatively easy hardware replication. "As number of cores on a chip continues to grow, making effective use of available cores will be a central challenge and virtualization technology is a promising potential solution,” he said. With many cores, say 16 for example, keeping track of parallel chunks of code becomes truly difficult. A smart compiler can come to the rescue to automatically map application code to the processing hardware (as in LabVIEW), but even compilers have limitations, Weltzin noted.

Intel’s Gilvarry agreed that application software developers will need to change their architecture to ensure advantages of extra cores are realized. For most users it means making their software code more parallel. Typically two methods are used: multitasking, a simpler first approach; and threading. The second provides the best performance but requires greater effort, according to Gilvarry.

He outlined four steps needed to convert a serial software application to a multithreaded application, namely: analyze, express, exploit, and optimize parallelism. ”Threading, when done well, makes best use of cache and runs repetitive algorithms faster,” Gilvarry added. “Starting a new thread for repetitive processes will run faster than starting a new process because often the memory segment doesn’t need to be changed and the instructions needed may still be in the instruction cache. (See more coverage of threading, multitasking, and software tools online.)

MCPs are moving into automation systems, first in higher-end controllers with lower-end systems expected to follow as implementation costs come down and user experience develops.


Дата добавления: 2015-11-16; просмотров: 68 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Performance per watt| Consumer-Grade Smartphones And Tablet Computers Are Fast Becoming Commonplace Extensions Of Industrial Networks, Permitting Process Monitoring And, Even (Gasp!) Process Control.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)