Jump to content

Virtual Machine Questions

Cubed_

Currently my school uses hundreds of pcs with relatively low specs that are all connected to the school domain.  My friend and I were thinking that it'd be more future proof, energy effiecient etc if the school were to run multiple powerful computers for every say 25 computers.  Therefore each high powered pc would have 25 vms.  I had a couple questions about this setup.  

 

1.) We want to make a way that the computer could throttle how much power it was using based on how many vms were running, so it could totally shut down vms after a certain period and then decrease the amount of energy being used.  I just can't figure out how a student could turn the VM back on without having to touch the actual pc.  Preferably students could just shake the mouse or type on the keyboard and it would restart / turn on.  Is this already possible?

2.) Instead of using thin-clients, we want to use zero clients.  The plan was to connect the vga monitors already used through a usb hub to the PC.  I have a couple questions about this setup:

  • I've heard it's not possible to connect the same type of usb device to multiple vms at a time, is there a workaround so we could have 25 of the same type of hub per vm?
  • Would it make sense to run a thunderbolt 3 cord to like a usb 3.0 hub and then split each hub into more usbs to connect 25 devices? Or: is there a limit on how many devices we could connect over usb / thunderbolt?
  • How much bandwidth could we possible need per vm if we had a dock with ethernet usb, and a vga monitor?
  • Any other ways we could hook up 25 vms?  We need each vm to at least have 1 usb port, the vga monitor, a mouse and a keyboard (wired mouse / keyboard).
  • Would it be possible to connect all the vms to the school domain?  If so, if we restarted the computer or shut down a vm, can we save the domain settings on the pcs harddrive so we never have to mess with the settings again?
  • All the school computers connect via ethernet, and so I was wondering if each vm would have to be connected via ethernet (in their usb dock or whatever) so that they could access the school files, or if the pc could just be plugged in to ethernet to provide ethernet to each client.
  • If we wanted to keep the computer away from the clients, what's the furthest we could go with different cables (active, passive, fiber optic etc.)
  • If the students are really only using word and surfing the web, would one core and one thread per vm be enough? Or do we need two cores per vm?
  • Is there anyway to make dynamic cpu usage for the vms? (i.e make it so that there was no set cores for each vm but instead they all used all the cores, and so if one vm needed more than one core it could use more than one, but if another needed less it could use less?).  Basically can all 25 vms share the cpu?
  • Was wondering if it would be neccessary to have a video card per vm?  I thought it would be better to connect the monitors via usb because since their so low res I thought we could connect 25 of them over a couple cords (usb or thunderbolt or whatever).  If we connect the vms via usb, do we need a gpu per client? Instead could we share a gpu between clients? 

Sorry for all the questions and typos, if you need anything clarified please ask..

 

Thanks Again

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Cubed_ said:

Currently my school uses hundreds of pcs with relatively low specs that are all connected to the school domain.  My friend and I were thinking that it'd be more future proof, energy effiecient etc if the school were to run multiple powerful computers for every say 25 computers.  Therefore each high powered pc would have 25 vms.  I had a couple questions about this setup.  

 

1.) We want to make a way that the computer could throttle how much power it was using based on how many vms were running, so it could totally shut down vms after a certain period and then decrease the amount of energy being used.  I just can't figure out how a student could turn the VM back on without having to touch the actual pc.  Preferably students could just shake the mouse or type on the keyboard and it would restart / turn on.  Is this already possible?

2.) Instead of using thin-clients, we want to use zero clients.  The plan was to connect the vga monitors already used through a usb hub to the PC.  I have a couple questions about this setup:

  • I've heard it's not possible to connect the same type of usb device to multiple vms at a time, is there a workaround so we could have 25 of the same type of hub per vm?
  • Would it make sense to run a thunderbolt 3 cord to like a usb 3.0 hub and then split each hub into more usbs to connect 25 devices? Or: is there a limit on how many devices we could connect over usb / thunderbolt?
  • How much bandwidth could we possible need per vm if we had a dock with ethernet usb, and a vga monitor?
  • Any other ways we could hook up 25 vms?  We need each vm to at least have 1 usb port, the vga monitor, a mouse and a keyboard (wired mouse / keyboard).
  • Would it be possible to connect all the vms to the school domain?  If so, if we restarted the computer or shut down a vm, can we save the domain settings on the pcs harddrive so we never have to mess with the settings again?
  • All the school computers connect via ethernet, and so I was wondering if each vm would have to be connected via ethernet (in their usb dock or whatever) so that they could access the school files, or if the pc could just be plugged in to ethernet to provide ethernet to each client.
  • If we wanted to keep the computer away from the clients, what's the furthest we could go with different cables (active, passive, fiber optic etc.)
  • If the students are really only using word and surfing the web, would one core and one thread per vm be enough? Or do we need two cores per vm?
  • Is there anyway to make dynamic cpu usage for the vms? (i.e make it so that there was no set cores for each vm but instead they all used all the cores, and so if one vm needed more than one core it could use more than one, but if another needed less it could use less?).  Basically can all 25 vms share the cpu?
  • Was wondering if it would be neccessary to have a video card per vm?  I thought it would be better to connect the monitors via usb because since their so low res I thought we could connect 25 of them over a couple cords (usb or thunderbolt or whatever).  If we connect the vms via usb, do we need a gpu per client? Instead could we share a gpu between clients? 

Sorry for all the questions and typos, if you need anything clarified please ask..

 

Thanks Again

 

What web browser will the students be using?

(BTW I highly doubt you could run 25 VMs on a server without seriously going into places where CPUs cost 4k+)

Want to know which mobo to get?

Spoiler

Choose whatever you need. Any more, you're wasting your money. Any less, and you don't get the features you need.

 

Only you know what you need to do with your computer, so nobody's really qualified to answer this question except for you.

 

chEcK iNsidE sPoilEr fOr a tREat!

Link to comment
Share on other sites

Link to post
Share on other sites

In order to do what you want to do there is a correct way to do it.

 

Buy some servers from dell/hp and run citrix xen/vmware esxi on them(if you want gpu support, if not you can use kvm)

 

Then have all the other computer be thinclients and remote desktop into them. You can use your existing systems for thin clients with linux.

 

If you want gpu acceleration, you have to get a nvidiai tesla/grid gpu so you have have 16 users per gpu. Even without a gpu you can still do most thing like youtube and web browsing. Id only buy the gpu for classes that need if for stuff like photoshop.

 

 

4 minutes ago, Cubed_ said:

so it could totally shut down vms after a certain period and then decrease the amount of energy being used.

The cpu's will still be running. Running a vm in the background pulls almost no power at all.

5 minutes ago, Cubed_ said:

I've heard it's not possible to connect the same type of usb device to multiple vms at a time, is there a workaround so we could have 25 of the same type of hub per vm?

If you using thin/zero clients this isn't a problem as its all running over ip, rather than using usb passthrough.

 

You can use the same usb devices, you just don't know which are which.

6 minutes ago, Cubed_ said:

Would it make sense to run a thunderbolt 3 cord to like a usb 3.0 hub and then split each hub into more usbs to connect 25 devices? Or: is there a limit on how many devices we could connect over usb / thunderbolt?

Nope, a single ethernet cable will handle everything.

 

6 minutes ago, Cubed_ said:

Any other ways we could hook up 25 vms?  We need each vm to at least have 1 usb port, the vga monitor, a mouse and a keyboard (wired mouse / keyboard).

this will all be managed by a thin client, and the server will only have a ethernet jack and power connected.

 

7 minutes ago, Cubed_ said:

Would it be possible to connect all the vms to the school domain?  If so, if we restarted the computer or shut down a vm, can we save the domain settings on the pcs harddrive so we never have to mess with the settings again?

Yep, they will be like any other system and run on the domain.

 

7 minutes ago, Cubed_ said:

If the students are really only using word and surfing the web, would one core and one thread per vm be enough? Or do we need two cores per vm?

Probably, but id give them 2/4 so if they need more they can have it, there is no downside to giving them more cores, they can share them.

 

8 minutes ago, Cubed_ said:

Is there anyway to make dynamic cpu usage for the vms? (i.e make it so that there was no set cores for each vm but instead they all used all the cores, and so if one vm needed more than one core it could use more than one, but if another needed less it could use less?).  Basically can all 25 vms share the cpu?

If a vm isn't using the cpu, anouther vm can use it(this applys to any vm software)

 

8 minutes ago, Cubed_ said:

Was wondering if it would be neccessary to have a video card per vm?  I thought it would be better to connect the monitors via usb because since their so low res I thought we could connect 25 of them over a couple cords (usb or thunderbolt or whatever).  If we connect the vms via usb, do we need a gpu per client? Instead could we share a gpu between clients? 

What do you want to do? If you want a basic system you don't need them. If you want gpu accerlation, then id get a nvidia grid/tesla so you can have up to 16 vms using one gpu.

Link to comment
Share on other sites

Link to post
Share on other sites

we use a system like this at the data center i work at. we use a program called vmware. the way it works is there is basicly a control computer, and you have many worker computers. the control computer just turns on and off the worker computers as needed. as for connecting them to the screens you can use a thunderbolt or a usb 3.0 doc to do that.

 

BTW bob51zhang it can get very expensive but we use older Super micro AMD machines for our work. you can get 16 core cpus for about 50$ and you could probably get a decent 2 cpu machine used for about 100-150. that is much less for a computer lab than individual computers but you also need to hire someone to run it.

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

This might sound all fine and dandy "in theory", but its basically a disaster in practice which is why nobody does it.  You have one massive point of failure as well.

 

And you have real major problems in such a setup if, for instance, everyone decides to play YouTube or something graphically (and CPU) intensive at once. 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

WAS going to answer but @Electronics Wizardy beat me to it and gave very good answers.

Cor Caeruleus Reborn v6

Spoiler

CPU: Intel - Core i7-8700K

CPU Cooler: be quiet! - PURE ROCK 
Thermal Compound: Arctic Silver - 5 High-Density Polysynthetic Silver 3.5g Thermal Paste 
Motherboard: ASRock Z370 Extreme4
Memory: G.Skill TridentZ RGB 2x8GB 3200/14
Storage: Samsung - 850 EVO-Series 500GB 2.5" Solid State Drive 
Storage: Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
Storage: Western Digital - Blue 2TB 3.5" 5400RPM Internal Hard Drive
Storage: Western Digital - BLACK SERIES 3TB 3.5" 7200RPM Internal Hard Drive
Video Card: EVGA - 970 SSC ACX (1080 is in RMA)
Case: Fractal Design - Define R5 w/Window (Black) ATX Mid Tower Case
Power Supply: EVGA - SuperNOVA P2 750W with CableMod blue/black Pro Series
Optical Drive: LG - WH16NS40 Blu-Ray/DVD/CD Writer 
Operating System: Microsoft - Windows 10 Pro OEM 64-bit and Linux Mint Serena
Keyboard: Logitech - G910 Orion Spectrum RGB Wired Gaming Keyboard
Mouse: Logitech - G502 Wired Optical Mouse
Headphones: Logitech - G430 7.1 Channel  Headset
Speakers: Logitech - Z506 155W 5.1ch Speakers

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Mark77 said:

This might sound all fine and dandy "in theory", but its basically a disaster in practice which is why nobody does it. 

 

And you have real major problems in such a setup if, for instance, everyone decides to play YouTube or something graphically (and CPU) intensive at once. 

 

 

This is done in many buinesses and it works fine, you just have to use something like xen or vmware

Link to comment
Share on other sites

Link to post
Share on other sites

Well the net result based on what i see would still be the same. Each VM per machine will be limited by what the main system is run. So lets say you want to run that 25 off 1 "server" (I'm calling the main PC a server because its easier) You will need at least a 26 core CPU to give every machine 1 core as well as 1 for the host system. But thats worse than what is existing already. you will need a 52 core to give each 2 cores and so on. Now lets try and make the host system usable. The host would be nice to have 4 to itself for its own operations so make it a 56 core total. Each pc now has 2 cores and host has 4. Thats not really a good plan. 20 will be okay. 40 cores for systems the student will use. 4 for host. http://ark.intel.com/products/93790/Intel-Xeon-Processor-E7-8890-v4-60M-Cache-2_20-GHz will run it. a 7k cpu alone. Now you will need ram. 84gb ram on host to give each machine 4gb ram. Hard drive. lets say each student gets a 500gb hard drive. Lets say you get a 4tb hard drive. you will need 3 4 tb drives. Plus the case PSU and all that fun stuff to run the PC. All in all it will cost about 10K-15k for 20 PCs and the host sytem. Average cost for $500 per system. Hope this helps.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Mark77 said:

This might sound all fine and dandy "in theory", but its basically a disaster in practice which is why nobody does it. 

 

And you have real major problems in such a setup if, for instance, everyone decides to play YouTube or something graphically (and CPU) intensive at once. 

 

 

the data center i work at uses something like this for the VMs you need when your working on some certification tests, were talking to some local school districts to host VMs for their more intensive classes so that everything will be offsite, scalable, and they don't have to have anyone on the payroll that knows how to work servers.

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

Quote

This is done in many buinesses and it works fine, you just have to use something like xen or VMware

Not really.  When its done in business, the client PC's still are full-fledged PC's or Ethernet-based "thin clients".  And the applications usually are not graphically intensive (ie: very basic word processing, database, order entry, etc.).  You really don't want to try doing YouTube through a remote VM.  It just doesn't work too well. 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Jay917536 said:

You will need at least a 26 core CPU to give every machine 1 core as well as 1 for the host system.

No you don't you can have as many virtual cpu's on one real cpu. You can even have vm's with more cores than the host(but there is no reason to do so)

1 minute ago, Jay917536 said:

Now you will need ram. 84gb ram on host to give each machine 4gb ram.

With memory balloning, each vm only uses the amount of ram it needs, saveing some memory

 

2 minutes ago, Jay917536 said:

lets say each student gets a 500gb hard driv

You don't need it that big, probaly only 50gb. You also have thin volumes so a 30gb template and then 5gb peruser sounds about right.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Jay917536 said:

Well the net result based on what i see would still be the same. Each VM per machine will be limited by what the main system is run. So lets say you want to run that 25 off 1 "server" (I'm calling the main PC a server because its easier) You will need at least a 26 core CPU to give every machine 1 core as well as 1 for the host system. But thats worse than what is existing already. you will need a 52 core to give each 2 cores and so on. Now lets try and make the host system usable. The host would be nice to have 4 to itself for its own operations so make it a 56 core total. Each pc now has 2 cores and host has 4. Thats not really a good plan. 20 will be okay. 40 cores for syste, 4 for host. http://ark.intel.com/products/93790/Intel-Xeon-Processor-E7-8890-v4-60M-Cache-2_20-GHz will run it. a 7k cpu alone. Now you will need ram. 84gb ram on host to give each machine 4gb ram. Hard drive. lets say each student gets a 500gb hard drive. Lets say you get a 4tb hard drive. you will need 3 4 tb drives. Plus the case PSU and all that fun stuff to run the PC. All in all it will cost about 10K-15k for 20 PCs and the host sytem. Average cost for $500 per system. Hope this helps.

if you use vmware or something like that you use multiple machines to host all of the VMs. they scale and adjust which VM is running on which machine based on how much power is needed and how many machines you have.

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Mark77 said:

Not really.  When its done in business, the client PC's still are full-fledged PC's or Ethernet-based "thin clients".  And the applications usually are not graphically intensive (ie: very basic word processing, database, order entry, etc.).  You really don't want to try doing YouTube through a remote VM.  It just doesn't work too well. 

It will do this just fine. You can have gpu acceleration if you want and this will run programs like autocad and maya just fine. https://images.nvidia.com/content/grid/pdf/185532-NVIDIA-Grid-vWS-SolutionOverview-A4-Web.pdf

Link to comment
Share on other sites

Link to post
Share on other sites

I was basing it of my experince in where where i did something like this on a smaller scale with 10 pc. I just set limits of it for the PC with each being allocated up to 2 cores before being caped. As well as posting what each pc may want to use under a bit of a load. Also with the real cpu work I just like having a 1 to 1 ratio. 1 real cpu per system. I find it much easier this way I do not need to mess with all the other possibilities. Its still not a great idea. No to mention if the host has an issue its all gone and not just 1 students PC.

Link to comment
Share on other sites

Link to post
Share on other sites

afaik, thats highly impractical. the vms could share a single gpu, but then you end up with only a single user and 25 windows. to be able to seperate the users, you would need something like kvm on the host and each guest with their own gpu. so to have 25 users, you need 26 gpus. in kvm, i know you can physically map each usb port to a certain vm, so the hubs could work. the main problem is what happens when something breaks. if theres an issue, it ends up a nightmare to troubleshoot, not to mention we are talking about a school it. not to doubt his/her knowledge, but im not so sure they can maintain such a system

Altair - Firestrike: http://www.3dmark.com/3dm/13945459

CPU:  i7-4790 @ 3.6 GHz Motherboard: Gigabyte B85M-DS3H-A RAM: 16GB @ 1600MHz CL11 GPU: XFX RX 470 RS Storage: ADATA SP550 240GB | WD Blue 1TB | Toshiba 2TB PSU: EVGA B2 750W Case: Phanteks Enthoo Pro Fans: Phanteks PH-F200SP (Front) | Phanteks PH-F140SP (Rear) | Noctua NF-A15 (Top)

Mouse: Logitech G502 | Keyboard: Corsair K70 MX Brown | Audio: Sennheiser HD 558

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, DrM said:

afaik, thats highly impractical. the vms could share a single gpu, but then you end up with only a single user and 25 windows. to be able to seperate the users, you would need something like kvm on the host and each guest with their own gpu. so to have 25 users, you need 26 gpus. in kvm, i know you can physically map each usb port to a certain vm, so the hubs could work. the main problem is what happens when something breaks. if theres an issue, it ends up a nightmare to troubleshoot, not to mention we are talking about a school it. not to doubt his/her knowledge, but im not so sure they can maintain such a system

true, most cant handle what they have now.

 

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, DrM said:

vms could share a single gpu,

You can have multiple users per gpu if you have a nvida tesla/grid or a firepro.

 

You can also use the cpu emulated gpu and it will be fast enough for most uses,

 

1 minute ago, DrM said:

so to have 25 users, you need 26 gpus. in kvm, i know you can physically map each usb port to a certain vm, so the hubs could work.

You can use remote desktop over ethernet and now you have one cable coming out of the server and no pass through.

Link to comment
Share on other sites

Link to post
Share on other sites

Quote

It will do this just fine. You can have gpu acceleration if you want and this will run programs like autocad and maya just fine. 

 

Trust me, it doesn't work very well.  I've worked with a few virtualization platforms, with Linux and Windows clients, and YouTube playback on the clients is not pretty.  It takes a lot of CPU to convert live video to IP Ethernet frames, and back.  There's a reason why nobody does it this proposed way in real life. 

 

Also, teachers are teachers.  They're not IT gurus.  If one client crashes, you tell the student to go share with another, or you have a spare sitting around.  If your 'super-duper' server crashes, its basically game-over until some IT guy comes and repairs it. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Mark77 said:

Trust me, it doesn't work very well.  I've worked with a few virtualization platforms,

Have you used vmware vgpu or xen vgpu?

 

This is done very often in businesses.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Mark77 said:

 

Trust me, it doesn't work very well.  I've worked with a few virtualization platforms, with Linux and Windows clients, and YouTube playback on the clients is not pretty.  It takes a lot of CPU to convert live video to IP Ethernet frames, and back.  There's a reason why nobody does it this proposed way in real life. 

 

Also, teachers are teachers.  They're not IT gurus.  If one client crashes, you tell the student to go share with another, or you have a spare sitting around.  If your 'super-duper' server crashes, its basically game-over until some IT guy comes and repairs it. 

1) Youtube is blocked at every school i've ever been to

2) Some schools use this, they also have to have someone on staff that can fix and maintain it so its not economical without a VERY large amount of computers on it.

3) My work is working with some schools to have an offsite version of this maintained by us that they can remote into for their classes.

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, glunday said:

1) Youtube is blocked at every school i've ever been to

2) Some schools use this, they also have to have someone on staff that can fix and maintain it so its not economical without a VERY large amount of computers on it.

3) My work is working with some schools to have an offsite version of this maintained by us that they can remote into for their classes.

Most schools even [have] an I/T club that would LOVE to "help out".

Cor Caeruleus Reborn v6

Spoiler

CPU: Intel - Core i7-8700K

CPU Cooler: be quiet! - PURE ROCK 
Thermal Compound: Arctic Silver - 5 High-Density Polysynthetic Silver 3.5g Thermal Paste 
Motherboard: ASRock Z370 Extreme4
Memory: G.Skill TridentZ RGB 2x8GB 3200/14
Storage: Samsung - 850 EVO-Series 500GB 2.5" Solid State Drive 
Storage: Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
Storage: Western Digital - Blue 2TB 3.5" 5400RPM Internal Hard Drive
Storage: Western Digital - BLACK SERIES 3TB 3.5" 7200RPM Internal Hard Drive
Video Card: EVGA - 970 SSC ACX (1080 is in RMA)
Case: Fractal Design - Define R5 w/Window (Black) ATX Mid Tower Case
Power Supply: EVGA - SuperNOVA P2 750W with CableMod blue/black Pro Series
Optical Drive: LG - WH16NS40 Blu-Ray/DVD/CD Writer 
Operating System: Microsoft - Windows 10 Pro OEM 64-bit and Linux Mint Serena
Keyboard: Logitech - G910 Orion Spectrum RGB Wired Gaming Keyboard
Mouse: Logitech - G502 Wired Optical Mouse
Headphones: Logitech - G430 7.1 Channel  Headset
Speakers: Logitech - Z506 155W 5.1ch Speakers

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, ARikozuM said:

Most schools even [have] an I/T club that would LOVE to "help out".

part of what the schools around here want to do is for us to teach some things about VMware to the students not a full blown class but kinda like an extra cerr activity.

i7 6700k - Asus ROG Strix GTX 1080 - assorted other stuff

Link to comment
Share on other sites

Link to post
Share on other sites

Quote

Have you used vmware vgpu or xen vgpu?

 

This is done very often in businesses.

No its not.  Those systems are relatively obscure, and very uncommon.  Sure, their vendors would like them to be a lot more common, but don't get lulled into their marketing speak.  Client PCs are not going away anytime soon in the enterprise, especially with how miniaturized and inexpensive they're getting.   Those packages are primarily aimed use-cases that use GPU's for background computation, not interactive real-time use. 

 

A classroom full of Intel NUCs (or similar "small" PC's) is standard, cheap, off-the-shelf, can be fully remotely administered and managed with the various tools.  If one breaks, its trivial to replace.  Switched Gig-E probably will do a whole classroom instead of exotic 10gig-E solutions.  No student can meaningfully interfere with the experience of another.   I just don't see what exactly would be the advantage of trying to re-instate the "mainframe" concept, in a classroom no less. 

 

If anything, based on the schools I've been to in the past few years, the trend is towards BYOD as much as possible (with the schools lending the 'poor' kids laptops/chromebooks).  So basically everything has to work over wireless as most portable devices aren't even coming with wired Ethernet anymore.  High bit rate remote desktops are incompatible with such.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, bob51zhang said:

What web browser will the students be using?

(BTW I highly doubt you could run 25 VMs on a server without seriously going into places where CPUs cost 4k+)

 

Yeah, ignore price..  But you don't have to run it all off of one cpu, I could do two of these: http://ark.intel.com/products/91752/Intel-Xeon-Processor-E5-2650L-v4-35M-Cache-1_70-GHz for 28 Cores.  Also the students would probably be using internet explorer, chrome, or firefox.. Why?

12 minutes ago, Electronics Wizardy said:

In order to do what you want to do there is a correct way to do it.

 

Buy some servers from dell/hp and run citrix xen/vmware esxi on them(if you want gpu support, if not you can use kvm)

 

Then have all the other computer be thinclients and remote desktop into them. You can use your existing systems for thin clients with linux.

 

If you want gpu acceleration, you have to get a nvidiai tesla/grid gpu so you have have 16 users per gpu. Even without a gpu you can still do most thing like youtube and web browsing. Id only buy the gpu for classes that need if for stuff like photoshop.

 

 

The cpu's will still be running. Running a vm in the background pulls almost no power at all.

If you using thin/zero clients this isn't a problem as its all running over ip, rather than using usb passthrough.

 

You can use the same usb devices, you just don't know which are which.

Nope, a single ethernet cable will handle everything.

 

this will all be managed by a thin client, and the server will only have a ethernet jack and power connected.

 

Yep, they will be like any other system and run on the domain.

 

Probably, but id give them 2/4 so if they need more they can have it, there is no downside to giving them more cores, they can share them.

 

If a vm isn't using the cpu, anouther vm can use it(this applys to any vm software)

 

What do you want to do? If you want a basic system you don't need them. If you want gpu accerlation, then id get a nvidia grid/tesla so you can have up to 16 vms using one gpu.

39

The idea was not to use thin clients, because this whole system was supposed to be cheaper for the future.  Running the server and zero cleints would save a ton of energy compared to running the server and thin clients.  Also, now if it came time to upgrade it would take weeks to upgrade and reformat all the computers.  In those weeks you have to pay a company or lots of people to do the work, and on top of that you had to pay thousands of dollars for the new computers.  If you ran say 12 of these machines, the parts would be upgradable since we would have built it and so you could upgrade all of the computers in the span of a day or two.  On top of that there are less computers to manage.  Thanks for the help btw

15 minutes ago, glunday said:

we use a system like this at the data center i work at. we use a program called vmware. the way it works is there is basicly a control computer, and you have many worker computers. the control computer just turns on and off the worker computers as needed. as for connecting them to the screens you can use a thunderbolt or a usb 3.0 doc to do that.

 

BTW bob51zhang it can get very expensive but we use older Super micro AMD machines for our work. you can get 16 core cpus for about 50$ and you could probably get a decent 2 cpu machine used for about 100-150. that is much less for a computer lab than individual computers but you also need to hire someone to run it.

We don't want worker computers, instead we want a single server that acts as the worker computer.  Using only one "worker computer" would be a ton more energy efficient and cost effective in the long run for a school that runs the computers every day.  Thanks for the insight though

15 minutes ago, Mark77 said:

This might sound all fine and dandy "in theory", but its basically a disaster in practice which is why nobody does it.  You have one massive point of failure as well.

 

And you have real major problems in such a setup if, for instance, everyone decides to play YouTube or something graphically (and CPU) intensive at once. 

 

 

This isn't a theory.  This has been done before, it's called multi-seat configuration and is often done on a lower scale.  While you could potentially have a point of failure, the idea was to make it as fail proof as possible, and with the money saved, hire a company or someone to manage the computers either remotely or in person.  The school already has it personnel who fix the individual computers and work on the file server, so it wouldn't be a stretch to reassign them to work on the new servers we would implement.  Also I posted here because I want to find a workaround in case every client played youtube at the same time.  I want to make sure that one ethernet cord would have enough bandwidth to supply that stream to each client, or if each client could / should be plugged in to ethernet themselves.

18 minutes ago, Jay917536 said:

Well the net result based on what i see would still be the same. Each VM per machine will be limited by what the main system is run. So lets say you want to run that 25 off 1 "server" (I'm calling the main PC a server because its easier) You will need at least a 26 core CPU to give every machine 1 core as well as 1 for the host system. But thats worse than what is existing already. you will need a 52 core to give each 2 cores and so on. Now lets try and make the host system usable. The host would be nice to have 4 to itself for its own operations so make it a 56 core total. Each pc now has 2 cores and host has 4. Thats not really a good plan. 20 will be okay. 40 cores for systems the student will use. 4 for host. http://ark.intel.com/products/93790/Intel-Xeon-Processor-E7-8890-v4-60M-Cache-2_20-GHz will run it. a 7k cpu alone. Now you will need ram. 84gb ram on host to give each machine 4gb ram. Hard drive. lets say each student gets a 500gb hard drive. Lets say you get a 4tb hard drive. you will need 3 4 tb drives. Plus the case PSU and all that fun stuff to run the PC. All in all it will cost about 10K-15k for 20 PCs and the host sytem. Average cost for $500 per system. Hope this helps.

That's not true.  For instance, the pcs used now are extremely slow and old.  Using newer processors the computers could be sped up.  http://ark.intel.com/products/91752/Intel-Xeon-Processor-E5-2650L-v4-35M-Cache-1_70-GHz is just a cheap of example of a processor that could be used in a dual socket configuration.  Two of those would give 28 cores, meaning almost enough, to match your specifications (excluding dual cores per computer).  Not to mention, 25 vms per server was just an idea it could always be lowered.  Also, there would be no hard drives, since the vms would be connected to a domain the students files would be stored on the file server the school already uses.  Our plan was to make the pc about 5-7k.  If you were to sell the computers we have now for 80 bucks a pop, you can cover a lot of the budget.  Also the plan was to make that money back in energy saved and in "futureproofness".

21 minutes ago, glunday said:

the data center i work at uses something like this for the VMs you need when your working on some certification tests, were talking to some local school districts to host VMs for their more intensive classes so that everything will be offsite, scalable, and they don't have to have anyone on the payroll that knows how to work servers.

This is almost exactly something I was thinking.  Instead of offsite servers you would keep the servers onsite, and then have a company offsite manage them.  Or teach the exisiting it memebers how to.

22 minutes ago, Mark77 said:

Not really.  When its done in business, the client PC's still are full-fledged PC's or Ethernet-based "thin clients".  And the applications usually are not graphically intensive (ie: very basic word processing, database, order entry, etc.).  You really don't want to try doing YouTube through a remote VM.  It just doesn't work too well. 

We wouldn't be using remote VMs.  Most of the processies the students would be doing would be very small like word, or browsing the web, and since the monitors are around 720, youtube wouldn't even be that hard to stream.  On top of that, I'm pretty sure my school blocks youtube, and on top of that if we are using usb or a different cable instead of ethernet to connect the clients it shouldn't be a big issue. The goal is not to connect the clients over the lan.

24 minutes ago, Electronics Wizardy said:

No you don't you can have as many virtual cpu's on one real cpu. You can even have vm's with more cores than the host(but there is no reason to do so)

With memory balloning, each vm only uses the amount of ram it needs, saveing some memory

 

You don't need it that big, probaly only 50gb. You also have thin volumes so a 30gb template and then 5gb peruser sounds about right.

I didn't even think of memory balloning!  Yeah, I didn't think the cpu would be that much of a challenge, and memory either.  Skip the individual harddrives as well, since everything would be on the file server that the school already uses.  You would need space for the templates, but nothing major.

24 minutes ago, glunday said:

if you use vmware or something like that you use multiple machines to host all of the VMs. they scale and adjust which VM is running on which machine based on how much power is needed and how many machines you have.

This seems like a good idea, except these servers wouldn't be in a server room, but instead places around the school somehow (we'd figure it out later.)

24 minutes ago, Electronics Wizardy said:

It will do this just fine. You can have gpu acceleration if you want and this will run programs like autocad and maya just fine. https://images.nvidia.com/content/grid/pdf/185532-NVIDIA-Grid-vWS-SolutionOverview-A4-Web.pdf

I'll have to check that out once I'm done replying :P But thanks, really appreciate the help

24 minutes ago, Jay917536 said:

I was basing it of my experince in where where i did something like this on a smaller scale with 10 pc. I just set limits of it for the PC with each being allocated up to 2 cores before being caped.

 

Yeah, but normal use of a computer is less than a student, as all they use the compuer for is researching and typing word etc.  Usually not very graphic intensive tasks or anything.  Thanks though, I appreciate your own 2 cents

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×