СПОСОБ, МОДУЛИ ОБРАБОТКИ И СИСТЕМА ДЛЯ ВЫПОЛНЕНИЯ СПОСОБНОГО К ИСПОЛНЕНИЮ КОДА

1. Способ выполнения способного к исполнению кода посредством набора модулей обработки, включающий:
выполнение способного к исполнению кода по меньшей мере одним первым модулем обработки из набора модулей обработки, причем указанный способный к исполнению код содержит набор способных к параллельному исполнению частей, каждая из которых содержит по меньшей мере две способные к параллельному исполнению операции, а указанное выполнение включает:
обнаружение, посредством указанного по меньшей мере одного первого модуля обработки, способной к параллельному исполнению части из набора способных к параллельному исполнению частей способного к исполнению кода, подлежащего выполнению,
выбор, посредством указанного по меньшей мере одного первого модуля обработки, по меньшей мере двух вторых модулей обработки из набора модулей обработки и
выдачу команды, посредством указанного по меньшей мере одного первого модуля обработки, на указанные выбранные по меньшей мере два вторых модуля обработки выполнить указанные по меньшей мере две способные к параллельному исполнению операции определенной способной к параллельному исполнению части способного к исполнению кода.
2. Способ по п. 1, в котором выдача команды содержит назначение каждой из указанных по меньшей мере двух способных к параллельному исполнению операций определенной способной к параллельному исполнению части способного к исполнению кода на один из указанных выбранных по меньшей мере двух вторых модулей обработки посредством указанного по меньшей мере одного первого модуля обработки.
3. Способ по п. 1 или 2, в котором на каждый из указанных выбранных по меньшей мере двух вторых модулей обработки выдана команда выполнить по меньшей мере одну из указанных по меньшей мере двух способных к параллельному исполнению операций определенной способной к параллельному исполнению части способного к исполнению кода.
4. Способ по любому из пп. 1-2, в котором указанные выбранные по меньшей мере два вторых модуля обработки содержат указанный по меньшей мере один первый модуль обработки.
5. Способ по любому из пп. 1-2, в котором первая и вторая способные к параллельному исполнению части способного к исполнению кода выполнены, если первая часть этого способного к исполнению кода содержится во второй части указанного способного к исполнению кода.
6. Способ по любому из пп. 1-2, в котором каждая способная к параллельному исполнению часть из набора способных к параллельному исполнению частей способного к исполнению кода содержит операции одного определенного типа параллелизации.
7. Способ по п. 6, в котором два типа параллелизации представляют собой различные типы параллелизации.
8. Способ по п. 6, в котором первый тип параллелизации содержит программные циклы, а второй тип параллелизации содержит условные переходы.
9. Способ по п. 8, в котором
если определенная способная к параллельному исполнению часть из набора способных к параллельному исполнению частей способного к исполнению кода содержит операции программного цикла в качестве указанных по меньшей мере двух способных к параллельному исполнению операций, то указанный по меньшей мере один первый модуль обработки выполнен с возможностью назначения определенного количества повторений программного цикла на каждый из указанных выбранных по меньшей мере двух вторых модулей обработки, причем каждое повторение программного цикла назначено на один модуль из указанных выбранных по меньшей мере двух вторых модулей обработки,
если определенная способная к параллельному исполнению часть способного к исполнению кода содержит набор программных циклов в качестве указанных по меньшей мере двух способных к параллельному исполнению операций, то указанный по меньшей мере один первый модуль обработки выполнен с возможностью назначения каждого из указанных программных циклов из набора программных циклов на один из указанных выбранных по меньшей мере двух вторых модулей обработки,
если определенная способная к параллельному исполнению часть способного к исполнению кода содержит по меньшей мере два условных перехода в качестве указанных по меньшей мере двух способных к параллельному исполнению операций, то указанный по меньшей мере один первый модуль обработки выполнен с возможностью назначения каждого условного перехода на один из указанных выбранных по меньшей мере двух вторых модулей обработки, и/или
если определенная способная к параллельному исполнению часть способного к исполнению кода содержит по меньшей мере два условных перехода в качестве указанных по меньшей мере двух способных к параллельному исполнению операций, то указанный по меньшей мере один первый модуль обработки выполнен с возможностью назначения каждого условия из указанных по меньшей мере двух условных переходов на один из указанных выбранных по меньшей мере двух вторых модулей обработки и с возможностью назначения каждой части кода указанных по меньшей мере двух условных переходов, закодированных по отношению к одному условию из указанных по меньшей мере двух условных переходов, на один из указанных выбранных по меньшей мере двух вторых модулей обработки.
10. Набор модулей обработки, содержащий по меньшей мере один первый модуль обработки, выполненный с возможностью:
выполнения способного к исполнению кода, содержащего набор способных к параллельному исполнению частей, каждая из которых содержит по меньшей мере две способные к параллельному исполнению операции,
определения, посредством по меньшей мере одного первого модуля обработки, способной к параллельному исполнению части из набора способных к параллельному исполнению частей способного к исполнению кода, подлежащего выполнению,
выбора, посредством указанного по меньшей мере одного первого модуля обработки, по меньшей мере двух вторых модулей обработки из набора модулей обработки и
выдачи команды на указанные выбранные по меньшей мере два вторых модуля обработки выполнить указанные по меньшей мере две способные к параллельному исполнению операции определенной способной к параллельному исполнению части способного к исполнению кода.
11. Набор модулей обработки по п. 10, в котором указанный по меньшей мере один первый модуль обработки выполнен с возможностью выполнения указанной выдачи команды путем назначения каждой из указанных по меньшей мере двух способных к параллельному исполнению операций определенной способной к параллельному исполнению части способного к исполнению кода на один из указанных выбранных по меньшей мере двух вторых модулей обработки.
12. Набор модулей обработки по п. 10 или 11, в котором указанный по меньшей мере один первый модуль обработки выполнен с возможностью выдачи команды на каждый из указанных выбранных по меньшей мере двух вторых модулей обработки выполнить по меньшей мере одну из указанных по меньшей мере двух способных к параллельному исполнению операций определенной способной к параллельному исполнению части способного к исполнению кода.
13. Набор модулей обработки согласно любому из пп. 10-11, в котором указанные выбранные по меньшей мере два вторых модуля обработки содержат указанный по меньшей мере один первый модуль обработки.
14. Набор модулей обработки согласно любому из пп. 10-11, в котором указанный по меньшей мере один первый модуль обработки выполнен с возможностью выдачи команды выполнить первую и вторую способные к параллельному исполнению части способного к исполнению кода, если первая часть способного к исполнению кода содержится во второй части способного к исполнению кода.
15. Набор модулей обработки согласно любому из пп. 10-11, в котором каждая способная к параллельному исполнению часть из набора способных к параллельному исполнению частей способного к исполнению кода содержит операции одного определенного типа параллелизации.
16. Система, содержащая набор модулей обработки согласно любому из пп. 10-15.
17. Система по п. 16, содержащая по меньшей мере один элемент из следующего:
один элемент обработки, содержащий набор модулей обработки или по меньшей мере два элемента обработки, содержащих набор модулей обработки,
по меньшей мере один модуль памяти, соединенный с одним элементом обработки или с одним из указанных по меньшей мере двух элементов обработки и выполненный с возможностью обеспечения объема памяти для одного элемента обработки или для одного из указанных по меньшей мере двух элементов обработки,
первый модуль подачи питания, выполненный с возможностью обеспечения питания по меньшей мере для одного модуля памяти,
второй модуль подачи питания, выполненный с возможностью подачи питания на набор модулей обработки,
модуль связи, выполненный с возможностью:
получения данных из сети и выдачи полученных данных в набор модулей обработки и/или
получения данных из набора модулей обработки и передачи полученных данных в сеть,
программно-аппаратные средства, содержащие программное обеспечение для устройства,
третий модуль подачи питания, выполненный с возможностью подачи питания на программно-аппаратные средства, и/или
соединительный модуль, выполненный с возможностью соединения программно-аппаратных средств, модуля микросхемы сети и одного элемента обработки или с возможностью соединения программно-аппаратных средств, модуля микросхемы сети и по меньшей мере двух элементов обработки, и/или
модуль интерфейса подачи питания, выполненный с возможностью подачи питания на первый, второй и третий модули подачи питания и на модуль связи.
18. Система по п. 17, в которой
один элемент обработки содержит процессор на основе Cell-архитектуры или указанные по меньшей мере два элемента обработки содержат по меньшей мере один процессор на основе Cell-архитектуры,
по меньшей мере один модуль памяти содержит по меньшей мере одно оперативное запоминающее устройство,
модуль интерфейса подачи питания представляет собой шину соединения межкомпонентных устройств или шину соединения межкомпонентных устройств типа Express,
модуль связи представляет собой модуль микросхемы сети, переключатель шины соединения межкомпонентных устройств типа Express или модуль соединения с магистральным каналом,
программно-аппаратные средства представляют собой флэш-память, программируемую пользователем вентильную матрицу или объединенный расширяемый интерфейс программно-аппаратных средств, и/или
соединительный модуль представляет собой соединительную микросхему, выполненную с возможностью управления функциями ввода-вывода.
19. Система сервера, содержащая набор модулей обработки согласно любому из пп. 10-15.
20. Машиночитаемый носитель, содержащий код программы, который, при его выполнении вычислительным устройством, вызывает то, что это вычислительное устройство выполняет способ согласно любому из пп. 1-9.