Realistically deploying Edubuntu

I'm on an Edubuntu users mailing list where, more often than not, veteran users can answer questions for new users. I usually give it a quick skim for any new features or fixes and then leave it to accumulate like so many other pieces of information in my Gmail account (hooray for increased storage!

I'm on an Edubuntu users mailing list where, more often than not, veteran users can answer questions for new users. I usually give it a quick skim for any new features or fixes and then leave it to accumulate like so many other pieces of information in my Gmail account (hooray for increased storage!). Tonight, however, I found a question from a new user looking to deploy an Edubuntu lab for some fairly far-reaching purposes. The response to the question was particularly good and included valuable thoughts for anyone looking to deploy server-centric solutions, regardless of OS.

Those of us who have used thin clients extensively understand both their incredible power from an administration and student access standpoint as well as their limitations. I'm reprinting the question and response (with very minor edits for clarity) below because they offer valuable insight into appropriate and realistic deployments of these systems. Thanks to the Edubuntu users group.

Here is the question:

I'm looking at purchasing a server for my school's multimedia lab to use with Edubuntu and LTSP. What are the minimum specs I should look for in a server that will power a lab with 35 P3 machines with 128MB RAM each? I teach elementary and middle school and > will need the machines to be able to do all kinds of multimedia from editing movies to creating flash files to streaming video from the Internet. Will two dual-core xeon processors do it for me or do I need to go quad core? (Does Ubuntu even support quad core processors at this time?) How much RAM should I get and how much does Ubuntu support? Should I just get 2 less powerful servers and split up the lab? I'd prefer to have one server so I can have some control over the lab using the thin client manager, but it isn't a huge deal. Thanks for any advice.

And here is the response (individual pieces of the question being answered are requoted below):

First of all, in case you haven't, I'd suggest you try Edubuntu out with some existing hardware before you launch into buying lots of hardware. You presumably already have the thin clients, so maybe find a Pentium 3/4 somewhere with 512MB RAM, install edubuntu, and try one or two thin clients on it (actually 256MB might be enough for a test). This means that when you're ordering your hardware, there are less unknowns.

> will need the machines to be able to do all kinds of multimedia from editing movies to creating flash files to streaming video from the Internet.

What software will you use for these tasks? Have you tried them out already? There is video editing software for Edubuntu, but it's probably not as well developed as some other aspects (and to be honest, it's not close to Final Cut Pro in most reviews I've seen) [Dawson's note: There are plenty of open source video editing programs for *buntu, but they really can't even match iMovie yet, let alone Final Cut.]

http://www.linux.com/articles/60837 http://www.linux.com/feature/60624

I know there are some ways to create flash, but have you checked that they're right for what you want? It would be interesting to hear your findings.

Will two dual-core xeon processors do it for me or do I need to go quad core?

For normal applications like web browsing, office, image editing etc. the quantity of RAM is usually the thing that limits the number of clients. 4GB RAM should probably cover 35 users for those applications. CPU doesn't usually limit this sort of stuff.

I've never seen an edubuntu cluster with 32 people doing video editing at the same time. If they were all editing even moderately large video content, I'd say you could run into problems with both RAM and CPU.

The next issue will be video playback. If a thin client plays a full screen video, it gets rendered (from say, divx) on the server and sent as raw video across the network to the thin client. That's 2 or 3 bytes per pixel, about 1 million pixels per frame, 24 times per second (ignoring sound) all of which must be sent over the network from the server to the client in real time. That's a LOT of network traffic. If more than 5-10 users simultaneously watch full screen video on normal thin clients, even a gigabit network will be in trouble.

To be honest, for any sort of intensive video applications, traditional thin clients are not really suitable as the network traffic is too large. A few YouTube videos here and there will probably be fine, but a class doing video editing may not be not realistic. If the thin clients ran the video applications locally themselves that would be different, but that's quite complicated to do and your thin clients probably don't have enough RAM.

Does Ubuntu even support quad core processors at this time?

I'm pretty sure this is no problem at all. [Dawson's note: it isn't; bring on the multicores] Linux supports multiple cores and multiple cpus and has done for a long time.

How much RAM should I get and how much does Ubuntu support?

Default 32-bit edubuntu supports up to 4GB (this is a limit of 32-bit hardware) and with the -server- kernel can get at least up to 8GB. 64-bit edubuntu supports so much more, you won't be need to worry about it.

2^32 = 4294967296 =~ 4GB 2^64 = 18446744073709551616

Should I just get 2 less powerful servers and split up the lab? I'd prefer to have one server so I can have some control over the lab using the thin client manager, but it isn't a huge deal. Thanks for any advice.

An interesting question -- there are advantages in both.

If you had two servers and one went down (eg. hardware failure), it would be nice that everyone could move over and work on the other, even in a limited way. This should be a rare occurrence though. Having, say 2x quad cores on one machine gives all users access to 8 cores. Having 2x dual cores on two machines splits your users in half giving each half 4 cores. If you get a burst of use on one half, the other half is not in a position to help out and could be sitting idle. Also, you'll have to use NFS and LDAP or NIS to make all users able to login on both machines and see their home directories.

Price will also vary between the two options of course. The single big server would probably draw less power and use the same or less space.

Either way, look into getting RAID (preferably RAID1), so that a disk failure doesn't take your server down and consider a second power supply so that a failed psu won't take it down either. Remember if your server dies, every thin client dies with it.

Sorry if some of this has set you back a little, but you must be realistic about video applications on thin clients before you spend lots of money.

[Dawson's note: Thanks again to Gavin McCullagh for the detailed response reprinted above.]