Wednesday, November 18, 2009

 

DVD/CD Readers And Thin Clients

When we went live with our HP thin clients 2 years ago, one new feature we added was the ability to use USB sticks and transfer files. I know there are some tools for doing this already, but opted instead to use FTP. I felt that using a stateless connection would be more stable, and also allow us to use this feature when people are logging in with NX over low bandwidth networks. As long as the server can resolve the remote IP, it will find the FTP daemon running on the remote thin client. FTP already works fine over differing network speeds, and once the transaction is complete nothing is mounted back to the server. Very clean to me and has worked well.

After some conversations in our architecture meetings, we have agreed that CD/DVD readers are really no different than USB sticks; and in fact they probably can hold fewer files these days. So I made a last minute addition to our new thin client update to support these types of drives.

When you plug in a USB stick, it's appropriate to just mount it immediately. I then tuned the thin clients to always flush data every 10 seconds. So we tell people that if they place files on USB sticks, just wait 10 seconds and then they can remove the stick. udev sees the stick being removed and the mount is removed. This is working well, and avoids having to have some kind of "Safe To Remove" panel app that we know people don't use anyway. :)

Being that CD/DVD drives have to eject, I couldn't just mount the disk when it's inserted..or they wouldn't be able to eject the disk. The GNOME desktop is running on the server, so it too is not aware at all of these drives. So I wrote a very simple UI that pops up (no GUI Nazis please :) ), when a drive is powered on. This is running on the thin client itself. I tried to keep it to the bare minimum and so far it's working well.

When the USB CD/DVD is turned on, udev starts up the small UI. When they click on the Mount button, it generates a directory name based on the physical hardware and creates the mount. The whole idea of mounting things to usb0, usb1 and so on has not worked well because users never were able to figure out which directories were in use. So now they only see the drives that are mounted, and each has a descriptive name. In the shot below, you can see the directory mounted from the drive after it's mounted.




The users then double-click on the USB icon and up comes Nautilus which is FTP jailed to just USB devices on the thin client. Proftpd only displays files types which we have approved. To the user, this looks just like a regular file manager that they always use. In the shot below, pictures and videos are displayed from CD media.



The user then drops and drags the files to the desktop, and the FTP feature of Nautilus is activated. Thumbnail generates and the file is now stored on the server.



I'm sure there are other ways to do this, and this definitely falls under a WFM; but if you are deploying thin clients and wondering how to handle these devices...maybe this will be a good solution.

Thursday, November 12, 2009

 

Groupwise 8 Upgrade + Client

The City uses Groupwise as our post office to house all of our email and calendar data. There were some mandatory calendaring requirements from our employees and GW best fits those needs. Last weekend, we upgraded from version 7 to 8. We are experiencing normal problems and awaiting some patches, but overall it went pretty well.

One of the things that comes up often in our contact with Novell is the issue of us using Evolution vs their Java client for Linux. We had tested the version 7 client a few years ago and it was not a good fit for us. So I checked out the new version with an open mind.

A lot of work has gone into making this release have feature parity with the Windows version, and they seem to be making progress. One of the things that the users really liked about Evolution 1 was the old Summary Screen, and Groupwise 8 has a similar feature (shot below).



Another nice feature is the ability to enter your own notes and comments on each email message as pictured below:



Overall from a feature standpoint, it seems robust and delivers in that regard.

So why don't we use it? The client runs on Java, and unfortunately it's S-L-O-W. To be fair, I installed the client on SLED 11 and it's running on the same server as Evolution 2.24. It flickers a lot at startup and on resizes, drag bars are painful to move, pulldown windows are slow. It's entirely possible that this product works perfectly on a local video card, but over remote display it's really pretty painful.

The other issue from version 7 that remains is that it consumes a lot of memory, and then continues to leak badly. When you are on a standalone computer, it might be ok for 1 or 2MB to leak at a pop, but when you have 300 users running, that suddenly becomes 300MB or 600MB for me!

I started the client and then opened top. Below you can see the client running along with the same email opened in evolution for my account.



After just a few minutes, it was already leaking (below).



I'm going to run it all day and see how bad it gets. At this point, there is no way this would scale and provide the performance that users expect in our environment.

It seems like from time to time there are discussions in Novell about Evolution vs Java, and where to use development resources. From our perspective and needs, Evolution is far better and we hope that Evolution continues to get the TLC it deserves.

Friday, November 06, 2009

 

HP 5735, Disappoints

I get email and know that some of you are thinking about thin clients in your organization. I have always tried to be honest and describe what works and what doesn't.

After a good amount of testing, we have been unable to get the HP 5735 to work well enough to put into production. They may work in other areas perfectly well, but our goal was to add ATI 9250 video cards to them and use them for the 3D desktop. Even though they have higher specs than the HP 5725, under no conditions have they ever run faster. 3D performance is very sluggish and certainly not fast enough for day to day use.

I know this isn't a perfect test, but the results seemed to correlate with Compiz "feel". It also could easily be replicated by anyone else. For my test, I booted an X server with just a xterm window and then connected to our remote Compiz servers and ran glxgears. The 5725 was the clear winner with 653 FPS. I also tested the onboard X1200 and then 2250 video cards.



We only purchased a few 5735s for testing, and will be moving them into our cyber cafes which don't use 3D and for that purpose they will work well.

We will continue to use the HP 5725 (which works great) until we have another device that performs as well.

Wednesday, October 28, 2009

 

gnome-shell Over Remote Display

It's been my pleasure to see gnome-shell mature over the last few months. I was in Boston last year when it started on the white boards, very cool stuff.

I have been wanting to experimentally get gnome-shell and Zeitgeist into the hands of 'regular users' for feedback. I built a Fedora Core 12 server, and got gnome-shell running. I then tested it over remote display. Clutter failed in my first test because it doesn't yet support 16 bit color depth. I bumped the thin client up to 24 bit color and tried again. I built a page on Live with my results and it's here

The visuals are not working correctly, but once it's up and running performance seems fine.
I don't have the expertise to fix this type of low level bug in clutter, but if anyone with the knowledge wants to find me on the IRC, I will gladly test patches and ideas.



We aren't the only people running thin clients, and one hates to not have this major feature available for enterprise customers that want to run GNOME 3.

Thursday, October 22, 2009

 

Acrobat 9.2 Is Out

I normally don't blog about software updates. But from the Acrobat site when you attempt to download Reader, they are still pushing 9.1.2. That version along with 9.1.3 has lots of security alerts. After poking around for a while, I finally found that 9.2 is only available on their FTP site.

Yup, I know about Evince...but it's not an option for us at this time.

Tuesday, October 20, 2009

 

Evolution 2.24 Going Live, HP 5735 Work Continues

After a one year and not always pleasant process we have reached a milestone with Evolution on SLED 11 that has the features and stability with which to deploy. The shot below is my calendar with data loaded from webcals and from the Groupwise backend.

Note to Linux desktop vendors: Having an email client, word processor and browser are the key elements to success in creating more customers. Specialty apps can still run on Windows, but these core applications need to be robust and feature rich in order to entice people to use Linux as their desktop.

The good news is that these patches will be coming for all customers on SLED, and also have mostly been merged into the community build.



I've moved over about 120 users to the new version, and the top below shows the load with 80 concurrent. The box has some kick, :) , and will easily be able to handle our maximum load of 300 concurrent.




I also have been working with HP to get some better performance out of the 5735 thin client. It has specs better than the 5725, but for some reason is slower in speed. I received a new build to test and am working on installing that now. I'm sure we will figure out the issue and be able to start deploying the newer model around the City.

Monday, October 12, 2009

 

Detailed Specs: Thin Client Hardware

I finally had a few moments to start creating blog entries about our last thin client operating system upgrade. This blog will review the hardware that is currently in use here at the City.

As I have mentioned previously, our "live" production thin client is the HP 5725. We are taking the steps to allow some HP 5735s and HP 4410s to be integrated into our infrastructure. With up to a 10 year duty cycle, costs are significantly reduced with all of this hardware.

HP 5725
This device has been discontinued but is a fantastic thin client. We have hundreds of people on these and they have proven to be great workhorses. If pictures are not loading on your feed, go to my blog site.

Here is a picture of the inside of the 5725. Note that there are no moving parts, and that heat from the CPU is pulled away in an ingenious manner.



The onboard graphic card did not support 3D, so we purchased the optional PCI expansion daughter card and cage. We were then able to use the ATI 9250 card, which has a heat sink and has no moving parts as well.



A nice clean front, power button and 2 USB connections.



Lots of ports on the back, you never know what you will need in the future.



And lspci gives us some nice information about the internals:

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 741/741GX/M741 Host (rev 03)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:0a.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 8d)
00:0b.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)
00:0b.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (Secondary) (rev 01)

5735

The 5735 should be an excellent addition to our environment. I'm still trying to get a few technical issues resolved with HP and fully expect this to outperform the 5725 in every regard.

Once again the internals are solid state:



The 5735 needed an addon daughter card for our ATI 9250s, but also comes with a PCIE card as well. I ordered a PCIE based ATI FireMV 2250 for testing; but found that Etch didn't yet support it. That's on the back burner for the next update, very possibly we will get a boost in performance.



The 5735 made some improvements in the front. Users might want to easily plug in headphones? Yup! Microphone jack also provided (but not implemented by us at this time).



Lots of ports on the back, including a 4th video port and gigabit ethernet.



and lscpi reports the internals:

00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
00:01.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (Internal gfx)
00:04.0 PCI bridge: ATI Technologies Inc Unknown device 7914
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 14)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series]
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
03:06.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)
03:06.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (Secondary) (rev 01)

4410t

A laptop footprint will help us greatly in two areas. There are people that want to be able to carry a device into conference rooms, and this should work nicely. The other area is that we have fat PCs currently in use that are used as thin clients most of the time. The users are booting Windows and then immediately starting NX with EVDO cards. We are testing the idea of using these devices for this purpose.

Looks like a regular laptop, but only costs $500. This device contains no moving parts and Debian Squeeze loaded perfectly, Intel video card is working well. Note to HP: the case has a slight fingerprint problem, lots of wipes needed during testing.



Ports on the side, this device was ordered with no DVD/CD reader, but it's available.



and lspci displays more details:

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03)
00:1f.5 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03)
02:00.0 Network controller: Broadcom Corporation Device 4353 (rev 01)
85:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 436c (rev 10)

If anyone is considering a move in this direction, I hope this information is helpful.

 

Low Level Linux Idea

I don't know if anyone that works in these areas of Linux will see this, but here goes:

What would be really helpful to me is adding a few more ulimit commands to the shell. I'd love to be able to have control over the CPUs. I understand that this slightly crosses over into the area of the 'nice' command.

Here is a real world example: We run Firefox from a centralized server for our City employees. We also have a few cyber cafe terminals configured around the City, so that they can log into their personal email during breaks. I'd like to throttle those devices back so that their Firefox sessions only run on one CPU. If only one cyber cafe is in use, response would be fine. As more are used, they would only slow down each other..and not the rest of the City sessions.

Anything running once this setting was enabled would not even see the other CPUs and perceive that you are on a single CPU workstation. I can think of numerous places where this would really help me tune for machines that run hundreds of concurrent users.

This page is powered by Blogger. Isn't yours?