InfoWorld, США

Проблема аппаратной архитектуры связана с тем, что процессоры работают значительно быстрее памяти

В Sun Microsystems идут работы над проектом Maxwell, направленным на создание микропроцессоров для обработки объектов Java. Целью является создание архитектуры памяти, ориентированной на поддержку объектов, благодаря чему программы смогут выполняться быстрее.

«Моя группа работает над этой проблемой уже несколько лет. Мы хотим понять и попытаться разработать методы, которые позволили бы аппаратному обеспечению более эффективно поддерживать работу Java-систем», — пояснил Марио Волжко, руководитель исследований лаборатории Sun Labs.

По словам Волжко, способ адресации памяти не менялся уже 30 лет. Процессы упростились, адресное пространство стало линейным и для интерпретации этих данных используется программное обеспечение.

«Интересно было бы перенести понятие объекта на аппаратный уровень», — заметил Волжко. В частности, как считает он, можно было бы использовать для освобождения памяти возможности аппаратного обеспечения, реализовав на этом уровне сервисы управления объектами и сборки мусора.

«Наша работа заключается в том, чтобы понять, как следовало бы спроектировать системы памяти, чтобы повысить эффективность управления объектами и сборки мусора за счет реализации на аппаратном уровне, — заметил Волжко. — Сейчас основная проблема аппаратной архитектуры связана с тем, что процессоры работают значительно быстрее памяти». Современные системы, по-существу, не знают, что находится в памяти, и просто выделяют для работы ее часть.

Руководство Sun Labs считает, что в первую очередь результаты работы в рамках проекта Maxwell ориентированы на серверы. Эта технология могла бы применяться к объектно-ориентированным языкам, таким как Java или Python, и к таким процессорам, как SPARC, хотя никаких конкретных планов в отношении определенных процессоров нет. Это могли бы быть и процессоры Intel, но такое развитие событий маловероятно, учитывая «достаточно натянутые» отношения между Intel и Sun.

Несмотря на то что Maxwell реализуется уже около пяти лет, пока никаких сроков создания на его основе конкретных продуктов не установлено. Больше всего из существующих на рынке технологий Maxwell напоминает предлагаемая компанией Azul оптимизация выполнения Java-программ, выполняющаяся с помощью специализированного аппаратного обеспечения.

В лаборатории также реализуется проект Squawk, посвященный встроенным системам. Он предусматривает создание небольшой JVM, которая работает непосредственно на процессоре и не требует присутствия операционной системы.

«Squawk рассчитан на системы младшего класса, главным образом, на устройства, работающие от аккумуляторов, и на решения с управлением подачей питания», — подчеркнул Эрик Арсенеу, ведущий научный сотрудник компании Sun Labs.

В частности, Squawk может применяться в беспроводных, работающих от батарейки низкоэнергоемких датчиках. Такие датчики, например, могут передавать центральному серверу показатель давления воды.

Благодаря Squawk в этих встроенных приложениях разработчики Java могут использовать свои навыки программирования. «Мы стремимся сделать так, чтобы Java можно было использовать на каждом этапе разработки приложений, — подчеркнул Арсенеу. — Сейчас все подобные устройства хотят использовать для решения более интересных задач».

Виртуальная машина Java в Squawk поддерживает технологию Isolates, которая позволяет на одном устройстве работать нескольким приложениям, причем эти приложения изолированы друг от друга. Isolates является частью Java Specification Request 121.

Squawk может использоваться и как JVM для встроенных устройств, и как набор инструментальных средств для разработки. Эта технология уже перенесена на платформу встроенных устройств Sun SPOT (Small Programmable Object Technology) . Кроме того, она поддерживает Mac OS, Linux, Solaris и Windows. Дата завершения работ над Squawk пока не установлена.

Разработчики могли бы использовать интегрированные среды разработки, в том числе NetBeans и Eclipse, а также Java Debugger, который представляет собой отладчик с интерфейсом командной строки. Squawk также тестируется со средой разработки JetBrains IntelliJ.

Squawk рассчитан на системы младшего класса, главным образом, на устройства, работающие от аккумуляторов

«Один из принципиальных моментов состоит в том, что мы стремимся обеспечить независимость от конкретной среды разработки», — подчеркнул Арсенеу. Разработчики могли бы писать приложения и в текстовых редакторах.

Еще один проект Sun Labs, получивший название Jedi, призван увеличить гибкость Java за счет предоставления тестовой среды для апробации предполагаемых изменений Java. «Если все делать сразу, то задача становится слишком масштабной, сложной и, как я говорю, неуправляемой», — подчеркнул сотрудник Sun Labs Ден Ингеллс.

В том же качестве Jedi могли бы использовать и сотрудники самой Sun. По мнению Ингеллса, с его помощью можно было бы постепенно вносить изменения в Java и даже пробовать технологии, которые могли бы стать преемниками Java.

Jedi создается не для того, чтобы можно было отказаться от иногда весьма длительного процесса модификации Java, оформляемого в Java Community Process. Она, по словам Ингеллса, могла бы «ускорить этот процесс». Скажем, любую новую возможность, предлагаемую для JCP, можно было бы сначала опробовать на примере. Предполагается, что работа над Jedi продлится еще полтора-два года.

Semplice будет поддерживать использование в JVM языка программирования Visual Basic, популярного среди программистов, работающих с операционной системой Windows. Проект Semplice обсуждали несколько недель назад, на конференции JavaOne 2006. Участники конференции рассматривали его как способ пробудить инте?рес к Java у программистов, работающих как с Visual Basic .Net, так и с Visual Basic 6. «Мы часто сталкиваемся буквально с анекдотическими ситуациями, когда многие программисты, использующие Visual Basic, не хотят работать с .Net, — заметил Джон Клайн, старший инженер по Java Enterprise Tools корпорации Sun. — Проблема заключается в том, что некоторые считают Visual Basic .Net слишком сложной средой, значительно сложнее, чем VB6».

Однако, как подчеркнул Клайн, не каждый элемент управления Visual Basic, созданный независимым производителем, будет работать без перекомпиляции или даже переписывания. Кроме того, остается открытым вопрос о переносе существующих приложений.

Общедоступные предварительные альфа-версии решений на базе технологии Semplice должны появиться к концу года. Кроме того, будет предложена поддержка Semplice для свободно распространяемой платформы NetBeans и инструментария разработки Sun Java Studio Creator.

Некоторым разработчикам эта технология понравилась, но на семинаре во время JavaOne, где обсуждался Semplice, вряд ли был представлен весь спектр мнений.