Development
MARS and The Cell Broadband Architecture
This article is based on a talk given by Geoff Levand at the Linux Symposium in Ottawa on July 24, 2008.
The latest TOP500 Supercomputers list was released last month and the new front-runner is using a processor quite unlike what you would find in your laptop.
The Cell Broadband Architecture (simply referred to as "Cell" in this article) was produced as a joint venture between IBM, Toshiba and Sony. The Cell is available in server hardware but is most commonly found in Sony's Playstation 3 gaming console.
The Cell is interesting because of its unusual design and performance characteristics. The Cell is described as a heterogeneous multicore CPU. It has one Power Processing Element (PPE) which is a general purpose processor and up to 8 Synergistic Processing Elements (SPEs). An SPE is a high-performance vector processing unit with 256KiB of local memory and its own DMA unit. The PPE, SPEs and memory and I/O controllers are connected by a high speed bus.
The PPE is quite slow compared to modern processors so the SPEs must be used to achieve good performance. This means writing software that takes the Cell's design into consideration because there is no simple way to optimize existing applications. Once an application has been designed to use the Cell's SPEs effectively it may run many times faster than when run on a traditional CPU.
GCC with the Cell SDK can emit code for both the PPE and SPEs, including passing messages and managing overlays when the SPE code size exceeds 256KiB. The Linux kernel can also manage multitasking the SPEs with its scheduler. These conveniences make it easier to write code for the Cell processor, but they can have a significant impact on performance. Preemptive multitasking on an SPE involves swapping all the local memory of the current process with the local memory of the process to be run. This requires time and bus bandwidth for the processor. Ideally you would always have at least as many SPEs as processes you need to run so that your process would never be swapped out.
The Multicore Application Runtime System (MARS) framework is a prototype of a cooperative multitasking system for the Cell that tries to address the performance overhead of running many processes on the Cell's available SPEs. MARS uses a library on the PPE and a very small kernel on the SPEs.
MARS currently has a priority-based cooperative scheduler. This scheduler lets you specify how much context you need to save when your process is swapped out. In the "run complete" case no context needs to be saved allowing the next process to run much more quickly.
Synchronizing of processes is commonly required between the Cell's SPEs and PPE. The only way to synchronize with the existing Cell SDK is to cause your SPE to busy-wait on a semaphore, but the MARS scheduler gives you the option of swapping out a process and doing other work instead.
Cooperative multitasking does have its downsides. You lose protection between your processes, and one process could hang and require intervention to release the PPE. It is also necessary to place manual yield points through your code or design each process to be short-lived. However, if your application needs to make the most of the Cell architecture, MARS is a promising starting point and addresses the need for a more efficient approach to scheduling.
System Applications
Database Software
Benetl 2.2 is out
Version 2.2 of Benetl has been announced. "Benetl is a free ETL for files using postgreSQL 8.3 In this version, a mature one for production mode, bring a new transformation engine."
Jaybird 2.1.6 released (Critical)
Version 2.1.6 of Jaybird, a JCA/JDBC driver suite for the Firebird DBMS, has been announced. "Due to critical fixes in JDBC-108 and JDBC-119, everybody using Jaybird versions between 2.1.2 and 2.1.5 is advised to upgrade to this new version to avoid data corruption when doing updates via ResultSet.updateRow() when the table has a composite primary key. Cases where table's primary key has only one column or there is no primary key at all are not affected."
PostgreSQL Weekly News
The July 27, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.
Networking Tools
ehcp: version 0.27 released (SourceForge)
Version 0.27 of ehcp ("easy hosting control panel") has been announced, it adds many new features. "ehcp for Ubuntu designed for hosting of multiple domains on single machine. Its aim:easily installable, e.usage, non-complex, functional. homepage:http://www.ehcp.net * automatically installs and works: dns, apache, mysql, ftp, email, domains".
IPCop: 1.4.21 released (SourceForge)
Version 1.4.21 of IPCop has been announced. "IPCop is a friendly firewall solution protecting networks running on linux. It will be geared towards home and SOHO users. Interface is task based. Hardware requirement could be very minimal and grow with services used. 1.4.21 is a maintenance release to fix minor issues found after 1.4.20 publication."
Zenoss Core: 2.2.3 Now Available (SourceForge)
Version 2.2.3 of Zenoss Core has been announced. "Zenoss Core is an enterprise network and systems management application written in Python/Zope. Zenoss provides an integrated product for monitoring availability, performance, events and configuration across layers and across platforms. We are very pleased to announce that the latest stable release of Zenoss, version 2.2.3 is now available for download. The Zenoss team has been hard at work nailing down defects (80+ closed!) and 2.2.3 should be one of our finest releases yet. While this is primarily a maintenance release, a lot of work has gone into testing and improving upgrades and installations."
Printing
Common UNIX Printing System 1.3.8 announced
Version 1.3.8 of the Common UNIX Printing System (CUPS) has been announced. "The new release fixes some performance and printing bugs."
Web Site Development
Django 1.0 alpha released
Version 1.0 alpha of the Django web development platform has been announced. "This release includes all of the major features due for inclusion in the final Django 1.0, though some lower-priority items are still scheduled to be included before the 1.0 feature freeze, which will occur with the first beta release next month."
PyHP: 1.0.0 alpha 2 has been released (SourceForge)
Version 1.0.0 alpha 2 of PyHP has been announced. "PyHP is an Apache module which embeds the Python language inside web pages. PyHP 1.0.0 alpha 2 has been released. This version includes PDF documentation of all the commands and objects included in PyHP and some fixes in DB module. The official home page has been updated to, you can have a look at: http://www.pyhp.org. PyHP is the Python Hypertext Preprocessor, a way to embed server side python scripts inside HTML very similar in philosophy to PHP."
Desktop Applications
Audio Applications
Development Plan for Jokosher 0.10
A new Development Plan has been posted for the Jokosher audio editor project. "Last Sunday we concluded the IRC meeting, and we decided on a list of things to do for the 0.10 release. We decided for certain that the release will be in August. The tentative release date is August 14th, 2008. All features must be completed by the end of July, or they will not be included in the release."
Rivendell v1.0.0rc4 announced
Version 1.0.0rc4 of Rivendell has been announced. Changes include a bug fix and a database update. "Rivendell is a full-featured radio automation system targeted for use in professional broadcast environments. It is available under the GNU General Public License."
Desktop Environments
GARNOME 2.23.5 announced
Version 2.23.5 of GARNOME, the GNOME testing distribution, is out. "This is the fifth development release on our trip to GNOME 2.24, which will be out in September."
GNOME Software Announcements
The following new GNOME software has been announced this week:- Banshee 1.2 (new features and bug fixes)
- cairo-compmgr 0.2.0 (new features and code rewrite)
- cluttermm 0.7.2 (support for clutter 0.8)
- GNOME Commander 1.2.7 (new features and bug fixes)
- gnome-control-center 2.23.5 (new features, bug fixes and translation work)
- Gnome Hearts 0.3 (new features, bug fixes and translation work)
- gnome-mud 0.11 (new features, code rewrite and translation work)
- gnome-settings-daemon 2.23.5 (new features and bug fixes)
- gstreamermm 0.9.6 (new features, bug fixes and documentation work)
- GVFS 0.99.3 (bug fix)
- LibUnique 1.0.0 (first stable release)
- Nemiver 0.6.0 (new features, bug fixes and translation work)
- PyGObject 2.15.2 (new features)
- Swfdec 0.6.8 (bug fixes and compatibility improvements)
- Swfdec 0.7.4 (new features and bug fixes)
KDE 4.1 released
The KDE 4.1 release is available. "KDE 4.1 is the first KDE4 release to contain the Personal Information Management suite KDE-PIM with its E-Mail client KMail, the planner KOrganizer, Akregator, the RSS feed reader, KNode, the newsgroup reader and many more components integrated into the Kontact shell. Furthermore, the new desktop shell Plasma, introduced in KDE 4.0, has matured to the point where it can replace the KDE 3 shell for most casual users." See the announcement for details and lots of screenshots.
KDE Software Announcements
The following new KDE software has been announced this week:- audiokonverter 5.8-beta (new features)
- aKu 1.0 beta1 (new features and bug fixes)
- Amarok 2.0-a2 (new features and bug fixes)
- CSudoku 0.3 (unspecified)
- KAlarm 2.0.1 (bug fixes and translation work)
- KCheckGMail 0.5.7.5 (bug fixes and translation work)
- KDE3TO4 0.0.3 (unspecified)
- Kicad 2008-07-16 (new features and bug fixes)
- KIPCalc 0.9.6 (unspecified)
- konqil.icio.us 2.5 (bug fix)
- KOVpn 0.3-pre7 (bug fixes)
- NoteFinder 3.0.8 (new features)
- qsfm Quick Soundfont Manager 0.9.9rc2 (new features and bug fix)
- rospell 2007.02 (new features, bug fixes and translation work)
- seiko 0.1 (initial release)
- SMILE 0.4.4 (new feature and bug fixes)
- SMILE 0.5.0 (new features, bug fixes and translation work)
- SMILE 0.5.1 (bug fixes and translation work)
- Soprano 2.1.1 (documentation work)
- sqliteman 1.2.0 (new features and bug fixes)
- uRSSus 0.2.0 (unspecified)
- Xt7-Player 0.6b (unspecified)
- Zhu3D 4.1.0 (new features and bug fixes)
Xorg Software Announcements
Xorg Software Announcements The following new Xorg software has been announced this week:- inputproto 1.4.4 (code cleanup)
- xf86-video-intel 2.4.0 (new features and bug fixes)
- xpyb 0.9 (initial release)
Desktop Publishing
LyX 1.5.6 is released
Version 1.5.6 of LyX, a GUI front-end to the TeX typesetter, is out. "This is the fifth maintenance release in the 1.5.x cycle that has been started exactly one year ago. The aim of this release was to make LyX even more robust and to solve some long-standing annoyances. Also, further translation efforts have been made, and LyX now ships in 23 languages. All users are encouraged to upgrade to this version."
Electronics
XCircuit 3.4.30 released
Stable version 3.4.30 of XCircuit, an electronic schematic drawing application, has been announced. "XCircuit-3.4 is considered the current stable distribution version. Version 3.5 was branched off of this version as the new development branch, and further changes to the 3.4 branch will only reflect necessary bug fixes."
Financial Applications
SQL-Ledger 2.8.17 released
Version 2.8.17 of SQL-Ledger, a web-based accounting system, has been announced. Changes include: "added option to process recurring transactions anytime. fixed formatting error for payments when amounts > 1000 and numberformat set to other than NA format. added item lookup on order/invoice forms."
Interoperability
Wine 1.1.2 announced
Version 1.1.2 of Wine has been announced. Changes include: "Control panel improvements and new appwiz panel. Restructurations of state handling in Direct3D. Support for timer queue functions. Many MSXML improvements. Several fixes to Solaris support. Various bug fixes."
Mail Clients
Thunderbird 2.0.0.16 is available for download
Version 2.0.0.16 of the Mozilla Thunderbird mail client has been announced. "As part of Mozilla Corporation's ongoing stability and security update process, Thunderbird 2.0.0.16 is now available for Windows, Mac, and Linux for free download from http://getthunderbird.com. We strongly recommend that all Thunderbird users upgrade to this latest release."
Multimedia
Elisa Media Center 0.5.3 released
Version 0.5.3 of the Elisa Media Center, which was examined on LWN last week, has been announced, it adds a number of new capabilities and bug fixes. "This mail announces the release of Elisa Media Center 0.5.3 codenamed "Attraction"."
Office Suites
Go-oo - a true OpenOffice.org fork?
The longstanding ooo-build project would appear to have matured into a project called Go-oo, and that, in turn, increasingly looks like a fork of OpenOffice.org. "We believe that copyright assignment to a single corporate entity opens the door for substantial abuse of the best-interests of the codebase and developer community. As such, we prefer either eclectic ownership (cf. Mozilla, GNOME, KDE, Linux), or an independent, meritocratic foundation (cf. Eclipse, Apache) to own the rights." See this page for Go-oo features not (yet) found in OpenOffice.org.
Speech Software
Speex 1.2rc1 is out
Version 1.2rc1 of the Speex speech CODEC has been announced. "This release adds support for acoustic echo cancellation with multiple microphones and multiple loudspeakers. It also adds an API to decorrelate loudspeaker signals to improve multi-channel performance. In the bugfix department, there are fixes for a few bugs in the echo canceller, jitter buffer and preprocessor. At this point, the API for 1.2 should be stable and only a few very minor additions are planned."
Video Applications
bliptv.reader V1.0 released
The initial release (version 1.0) of bliptv.reader has been announced. "bliptv.reader is a Python wrapper around the API of video hosting service blip.tv. It gives you easy access to shows and episodes and many properties of them. Of course you can also easily access the actual video files including their filesize and dimensions."
Web Browsers
Firefox 3.1 Alpha 1 now available for download
Firefox 3.1 Alpha 1 has been announced. "The first developer milestone of the next release of Firefox - code named Shiretoko Alpha 1 - is now available for download. Shiretoko is built on pre-release version of the Gecko 1.9.1 platform, which forms the core of rich internet applications such as Firefox. Please note that this release is intended for developers and testers only."
Languages and Tools
HTML
cssutils 0.9.5 final released
Version 0.9.5 final of cssutils, a Python package to parse and build CSS Cascading Style Sheets, has been announced. "0.9.5 had been in development for about half a year and this is the first *final* release for quite some time now - actually the last has been 0.6 ... It is nevertheless definitely not perfect but tests have been expanded, included scripts should all work and all examples on the website have been checked."
Python
PyBindGen 0.9 released
Version 0.9 of PyBindGen has been announced. "PyBindGen is a Python module that is geared to generating C/C++ code that binds a C/C++ library for Python. It does so without extensive use of either C++ templates or C pre-processor macros. It has modular handling of C/C++ types, and can be easily extended with Python plugins. The generated code is almost as clean as what a human programmer would write."
Python-URL! - weekly Python news and links
The July 28, 2008 edition of the Python-URL! is online with a new collection of Python article links.
Miscellaneous
Project dune: 1.6.1 released (SourceForge)
Version 1.6.1 of Project dune has been announced. "Project Dune is a software project management tool to manage your estimates, project information, issues, releases, scrum tasks, timesheets and test execution results. See the project site at projectdune.org for detailed features. This release of the project fixes a couple of bugs and has a couple of new features, mostly user interface improvements."
Page editor: Forrest Cook
Next page:
Linux in the news>>