Posts Tagged ‘computing’

T2000 Logical Domains

Thursday, October 19th, 2006

Well, Sun have announced it and it is linked from the frontpage of Sun.com.

A hardware virtualisation product for the Sun Fire T1000 and T2000 servers (Niagara CPUs) will be shipping early next year. There’s not a great deal of info available for this yet, but Sun internal guys will know that this is what I did my TOI on a few weeks ago. Using an early internal preview of the Logical Domains software I had a T1000 in our lab running multiple copies of the Solaris operating system.

The Niagara CPU has a hardware virtualisation layer called the “Hypervisor” that presents an abstracted view of the system devices to guest OSes (this info has been available for quite some time on opensparc.net and the Solaris ON source). Using this and some updated system firmwares the machine can be logically partitioned allowing multiple (different) kernels to run on the same hardware. The good news is that any operating system that will currently run on a non-LDoms Niagara box will also be capable of running on an LDoms version—in fact, as far as the OS is aware nothing has changed, as it is already running beneath the Hypervisor.

I’m not 100% sure what has been announced right now, so I’ll leave it at that. I’ll add a little more info at a later date when I know exactly what is/isn’t public information. Either way, keep your eyes open :)

Sun. Evolution.

Saturday, September 23rd, 2006

You may have read about the Niagara II and Victoria Falls CPUs on The Register. We were fortunate enough to attend a presentation by David Greenhill, lead (and distinguished) engineer for these new CPUs… (and just because I’ve always wanted to say this:) I’m not at liberty to disclose much of the presentation (yes!).

But after the talk I got chatting to Matt Finch about exactly what the Hypervisor does in the T1 (Niagara) chip, which he helped explain. Since then I’ve been trying to read up a little more about it, using internal Sun documents (gotta love the VPN access).

I have to admit that I’ve surprised myself by being so interested. I didn’t pay a massive amount of attention to the CPU architecture course back at university, mostly because it never seemed that interesting. I think where the course went wrong was bogging it all down with too much detail into exactly what each stage did, rather than discussing how and why the things that are being done are cool and better than how things might have been done previously.

The talk that Matt did on the T1 chip was nothing short of enlightening. I guess that a lot of what went on in the CPU arch. course stuck with me, because I understood close to everything he said. The best bit is that it made sense. From what I understand, the T1 is a really simple chip (when you consider the big pink fluffy bunny overview)—this appeals to me (in the same way that a tool like grep or vi appeals). Now that David Greenhill has talked further about future stuff and changes with the Niagara chip I’m interested again… this time in Hypervisor and all of its potential (Hypervisor isn’t a Sun-specific thing, read up on Google for more info; in short it is a hardware abstraction layer that sits between the OS and the physical components).

I’ve gone off track again, this blog entry wasn’t supposed to be about Hypervisor, or N1, or even N2. It was supposed to be about Sun, as a company. Halfway through reading this overview of what the sun4v hypervisor can do I decided to check out what info was available to the general public, in the form of the OpenSPARC website. I was really impressed: I’m no expert at understanding this stuff, but I found plenty of potentially useful information. And this is mirrored in the OpenSolaris project: lots and lots of code, groups and useful info.

Time will tell exactly how important these two projects (and hopefully OpenJava, in the future) are. But I really wouldn’t be surprised to discover that Sun have managed to strike exactly the right balance between the Cathedral and the Bazaar.

Seamless Windows RDP

Tuesday, August 29th, 2006

After a quick look at Sun’s free Global Remote Desktop product at work today I decided I’d look into it this evening. This allows applications to be exported from one OS to another. What’s the big deal? There isn’t one if you’ve ever used X windows, which is a client-server model by design and as such allows applications to be displayed on different machines, or even via SSH tunnels.

Windows has Remote Desktop, which is handy for remote admin or using a remote machine fully. However, if you want to run, say, Photoshop, then it’s not really much use. This is one thing that Sun’s product allows you to do.

I spoke with James about this a little and he suggested I check out Tao of Mac, which I did, and found Cendio’s SeamlessRDP project, which provides a custom Windows shell that allows just a single application to be exported, instead of the whole desktop. Really great stuff… if you’re running a version of Windows with a new enough version of Remote Desktop that also allows more than one concurrent user (i.e. Windows 2003 Server).

A few hacks further on and I was happily viewing notepad on my laptop, which was being run on my desktop PC running Windows XP. To take this one step further, here’s Photoshop CS2:

pshop.png

This confirms two things: SeamlessRDP (already available in rdesktop CVS) is awesome, and Photoshop was not designed to be run over a wireless RDP link. I doubt performance will be much better to a local Windows vmware image, either.

But still… this is cool stuff.

MPlayer

Sunday, August 20th, 2006

Bah. While MPlayer is an utterly awesome video player, it has a few really nasty deficiencies:

  1. it is unable to jump between DVD chapters without a restart
  2. it has no support for switching angles on a DVD track without a restart
  1. fast-forwarding DVDs with more than one angle can result in the angle automagically changing for you (not very nice)

    What surprises me most is how trivial the first two points would be to implement. I might even have a go at firing up the MPlayer source and giving it a go myself. Maybe there is a specific reason it hasn’t already been done :)

Won’t somebody please think of the children?

Saturday, August 19th, 2006

So I’ve been hacking the Freevo box again. My previous work with mplayer arguments is working beautifully—everything* shows up at the correct aspect ratio. I achieved this in a fairly dirty way, but so far I’ve found no better way of doing it.

For some reason the GeForce card in the Freevo box refuses to output at anything other than “standard” ratios: i.e. it outputs at 1024×768 instead of a more handy 16:9 ratio. To compensate for this I’ve configured Freevo to use 1024×576 (16:9), which works, in conjunction with the 16:9 zoom option on the TV. In order to get everything* else to display at the correct ratio I’ve had to force mplayer to not grow any larger than the same size (actually a little less in height for some odd reason). Some fancy use of the -geometry flag allows me to shift the image to the centre of the screen, where I then use some other options to force the correct (scaled) aspect ratio.

It’s fairly painful stuff, if you ask me.

This brings me on to ratios and standards in general. Why are they all so obscure? Why are the standards not designed in such a way that it is instantly straightforward to view the correctly scaled output, regardless of display size, stretch, etc. As for new modern widescreen TVs… just give over giving the user an option to change the aspect ratio. There should be a fixed default and that should be the “correct” aspect. I’m fed up of watching short fat people wander around my (James’) TV screen.

Anamorphic DVDs are something that is worthy of note. I was complaining about the fact that they need to be stretched horizontally in order to be displayed—it would surely make more sense for them to be packaged at the correct aspect instead. The reason they stretch them is to make use of the extra scanlines, which would otherwise be wasted as “black bars”. I complained to Vlad about this, but he suggested that it does make sense, thanks to the fact that cameras are not “widescreen”.

It turns out that Freevo doesn’t support proper DVD playback using MPlayer. Xine is the preferred choice, thanks to correct(ish) handling of DVD menus, chapters, subtitles, audio languages, etc. Much to my surprise there is no way to change (or even enable/disable) subtitles when using MPlayer. The last six hours or so have been spent fixing this. God knows how it took so long, but the Freevo code isn’t very well commented and I had a very hard time figuring out how things worked. I’ll spend a bit more time tidying my code up and enabling audio language and angle support before submitting a patch to the Freevo devs.

I’m sure happy that I can now enable subtitles on my foreign films :)

PayPal refund

Monday, August 7th, 2006

Today I was awarded a full refund of US$275.06 for a claim I put in against Costupdate-International for an unreceived Sony DVD-RW drive. I’m most pleased about this as the company had just been messing around and (I expect) blatantly lying about having sent the item.

Most annoyingly I’ve lost out on £23.29 as a result of a stronger pound against the dollar. Still, better than nothing :)

Solars Intermediate System Administration

Tuesday, July 25th, 2006

I’m currently sat in the classroom for the intermediate Solaris sysadmin training course that I’m doing as part of my job with PTS at Sun. There are the other four guys (Liam is now here) plus a few people from tech companies.

Yesterday must have been a bit of a warm-up because we had more tea breaks than I had last week, not to mention the fact that we started late and had the long personal introductions to get through. Today is a little bit more interesting, but I wouldn’t say I’ve learned anything startlingly new… yet.

So far it’s been basic stuff like using the format command (sort of like fdisk for Windows/Linux), symlinks and so on, but things should heat up later on today (at least in terms of Solaris-specific things or other bits and pieces I’ve not seen).

I had a quick flick through the other courses that Sun offer but I didn’t see anything in particular that I felt it was essential I do. I think I’ll end up doing one of the SAN storage courses because (a) I’ve been wanting to know a bit more about a shared storage filesystem, and; (b) I need to fix CompSoc’s T3+. Actually, fixing the T3 would probably be pretty easy if I could be bothered to sit down and do it.

Next week is the Serengeti (E10k) course, which should definitely prove interesting. I’ve not messed with any of the Serengeti stuff at work yet, but some of the higher range stuff is not what I’d call cheap ;)

Wireless coverage

Saturday, July 15th, 2006

We’ve just hooked up my Linksys WRT54g (running the latest Freeman firmware) to the cable modem and found that the coverage wasn’t that great. I get a useful signal in my room but Kim, who was furthest from the router didn’t have a decent enough signal.

James has just enabled WDS on a second WRT54g (same firmware) and now we have really good house-wide coverage. WDS allows two wireless access points to talk to each other and broadcast at the same time. This means that Kim’s Internet traffic goes to the upstairs router first, which passes the message on to the one downstairs, which shoves it out of the Internet interface.

It’s pretty cool stuff, if you ask me ;)

Cable t’Interweb!

Saturday, July 15th, 2006

Good news, everyone!

The NTL cable guy came today and installed our cable Internet connection. Cable is better than ADSL because you get an Ethernet model by default. Cable is worse than ADSL because the upstream is pretty low by comparison. Cable is better than ADSL because you can get a 4Mbps connection for a total of twenty-five pounds per month (no telephone line required). Cable is better than ADSL because almost all areas can get 10Mbps, if they want.

I think for the amount of time we’ll be here 4Mbps will be just fine… after a few false starts I’m happy that it actually is pretty quick, which is great.

Let the good times roll… :)

Hooker beta

Monday, June 26th, 2006

A very quick follow-up to the previous post, about hacking the Windows API.

I’ve not got my little application (affectionately known as “Hooker”) to a state where I think it mostly works.

The number of lines has at least doubled since I first posted it on my blog. Almost all of these lines of code deal with the proper handling of various window types and getting the exact right state to allow windows to be moved properly.

The Windows “desktop” is now safe (early versions allowed the desktop icons to be moved, as a whole), as is the task bar and maximised windows. In fact, the early testing versions actually moved around controls inside a window, rather than the window itself… it was also possible to move the mouse so quickly that windows being moved could be “lost”. To the best of my knowledge these are all sorted now.

The reason I’ve decided to upload this now is because I’ve just fixed the last outstanding problem: properly intercepting the initial mouse press properly. While windows were being moved perfectly a click was received by the application. For example, if the ALT key was down and an “Okay” button was underneath the cursor at the beginning of the move, when the move ended the mouse would come up and the net result would be a moved window that presumably disappeared as a result of the “Okay” button having been pressed. This no longer happens: a non-focused window is brought to the front and given focus, but the click is never registered by the application itself.

So… here’s a beta version for you to enjoy. I’ve already come across a bug whereby the release of the ALT key is not registered, which means key clicks result in window moves, rather than proper key clicks. I suspect this is because I was trying to move Delphi windows which also intercept all sorts of hooks (including keyboard and mouse). If you come across this problem, please let me know… equally, if you don’t come across it, that would be useful to know too.

To kill it off, you’ll need to use the Processes tab of Windows Task Manager (CTRL+SHIFT+ESC) to end the HookerTest.exe process.

Enjoy!