Eyeing boosts in application performance, Sun Microsystems is researching how to improve handling of objects in multiprocessors with a project dubbed Maxwell.
The company also has projects in its labs pertaining to embedding the Java Virtual Machine on sensors, running Visual Basic on the JVM and a prototype environment for exploring Java modifications.
Maxwell is intended to enable microprocessors to handle objects such as Java objects. The goal is to develop an object-aware memory architecture, with the benefit of making programs run faster.
"What we've been working [on] now for some years in my group is to understand and try to invent techniques which would allow hardware to run Java-based systems more effectively," said Mario Wolczko, a lead researcher at Sun Labs.
The way memory has been addressed has not changed much in 30 years, Wolczko said. Processes get flat, linear address space and software is used to interpret that data, he added.
"It looks interesting to have a notion of [an] object, which is pushed down into the hardware layer," Wolczko said. Object management and garbage collection services, to free memory space, would be provided for in hardware.
"Our work is in looking at how you would design memory systems to make object management and garbage collection much more efficient by virtue of having hardware support for that," Wolczko said.
"The problem in hardware design these days is the processors run so much faster than memory," Wolczko said. Current systems do not really understand what is in memory and just assign a chunk of it.
"We're trying to have the memory system understand more about what you want," as a programmer, Wolczko said.
Sun Labs is eying servers as the destination for Maxwell-equipped processors. The technology could be applied to object-oriented languages such as Java or Python and to processors such as Sparc, although there are no concrete plans yet for it to go into specific processors. Intel processors are a possibility, but unlikely, given the "fairly hostile" relationship between Intel and Sun, said Wolczko.
Although Maxwell is a project that has been in development for about five years, there is no set time yet for it to turn up in actual products. The closest technology on the market to Maxwell is Azul Systems's (http://www.azulsystems.com/) Java optimization done through specialized hardware, Wolckzo said.
Also in the labs is an embedded systems project called Squawk. It features a small JVM that runs directly on the processor, without assuming the presence of an operating system.
"Where Squawk fits in is on the lower end of the spectrum, mostly for battery-operated devices and things that need to be power-aware," said Eric Arseneau, also a lead researcher at Sun Labs.
The types of devices envisioned for Squawk include wireless, battery-operated, low-power sensors. These sensors could feed back data such as information on water pressure to a central server.
With Squawk, Java developers would be able to leverage their programming skills in these embedded applications. "The whole point here is to make it so we can have Java at each stage," in application development, Arseneau said.
"People would now be willing to do more interesting things with these devices," Arseneau said.
The JVM in Squawk supports Isolates technology, to allow for running multiple applications on a single device, with applications separated from each other. Isolates is part of Java Specification Request 121.
Squawk would feature both a JVM for embedded devices and a toolkit for development. The technology already has been ported to Sun's Sun SPOT (Small Programmable Object Technology) embedded device platform. It also has been run on MacOS, Linux, Solaris, and Windows. There is no completion date yet for Squawk.
Developers would be able to use IDEs including NetBeans and Eclipse as well as with the Java Debugger, which is a command line debugger. Squawk also has been tested with the JetBrains IntelliJ IDE.
"One of the key tenets here is we're very much trying to be IDE-agnostic," Arseneau said. Developers also could use text editors to build applications.
Jedi, meanwhile, is intended to boost the malleability of Java by providing an exploratory environment for kicking the tires on proposed modifications to Java, said Dan Ingalls, a lead researcher at Sun Labs.
"If you take the whole shebang [as it currently is], it's big and complicated and not what I call malleable," Ingalls said.
Scientists at Sun would benefit from Jedi as would people outside Sun. It could be used to explore incremental changes to Java or even try out technologies that might be a successor to Java, Ingalls said.
The Jedi technology is not intended to sidestep the sometimes lengthy Java modification processes set forth in the Java Community Process (JCP). It would "facilitate" that process, Ingalls said. For example, someone could sample a new feature proposed for the JCP, he said.
Jedi is expected to take another 18 months to two years of work.
Project Semplice would run the Visual Basic programming language, popular amongst Microsoft-based programmers, on the JVM. Discussed at the JavaOne 2006 conference in San Francisco two weeks ago, Semplice is eyed as way to lure both Visual Basic .Net and legacy Visual Basic 6 programmers to Java.
"We've gotten lots of anecdotal evidence that there's still a lot of VB programmers that have resisted .Net," said John Kline, senior staff engineer for Java Enterprise Tools at Sun.
"We'd love [to have] these people on the Java platform," Kline said. "The problem is, some people find VB .Net too complex; much more difficult than VB6."
Any third party Visual Basic controls, however, would not run without being recompiled or rewritten, Kline said. These controls serve as visual items on a form.
Questions also remain about porting of existing VB6 applications. "The honest answer is we don't know how successful we'll be in porting a large percentage of VB5 apps," Kline said.
"Even if we don't do well with those, I believe we still have a potential product because ease of use is a very important thing," Kline said. Developers certainly could write new applications in Visual Basic and run those on the JVM, he said.
Public releases of early, alpha-level Semplice technology are planned for the end of the year. A compiler would be one product offering, with Semplice support eyed for the NetBeans open source tools platform and the Sun Java Studio Creator development tool.
Some developers have liked the technology, but a session at JavaOne that discussed Semplice did not pack the room, Kline said.