About the second question, and the answer given. Granted this was not the answer I really wanted to hear. Iit seems to me that "we" rarely get what "we" exactly want. Especially where computer hardware/software is concerned.
The way I see it. At minimum embedded systems development could benefit from this greatly. Not everyone is a professional in this field, and lots of ( possible ) budding embedded developers *could* potentially get ahead with out having to buy actual hardware. Of course with *NIX, you have tools such as QEMU, and probably a plethora of many other tools that I am unaware of. Of course, I am far from being an expert in the embedded systems design field.
One example I could think of after talking to a friend who has been an Electronics Engineer for more than 30 years would be this. Take the average arcade board from the 80's. Some or possibly many ran processors similar to lets say an 8085 ( yes thats right, not an 8086, or 8088 ), and then had in a lot of cases a ton of custom hardware all doing various things. While at the same time working with the main processor. Really, not too dissimilar from a modern computer system. But definitely not as standardized. These "systems" however did not really run an OS as we now know it. But perhaps did have some form of a boot loader. Again, I am not an expert. But I really can not see any processor not having at least a minimalist boot loader to setup all the accompanying/attached hardware.
Now, how cool would it be to actually be able to emulate that processor, while at the same time being able to construct your custom hardware ( in software ) ? I am sure someone can see where i am going with this, and I am sure that is not too much of a stretch to think that *someone* could possibly already being doing this in-house already. We already ( sort of ) have this with FPGA's. But from the angle I am coming from; It is not really the same thing. For starters. FPGA's are less than ideal in many cases, for different reasons. Even *if* they can be emulated entirely in software.
Maybe what what I am suggesting is out of scope with this discussion as some may see it. Seeing as emulation, and virtualization are two different things. One is a vitualization of hardware, while the other is a virtualization of software( simply put ). Also, I do know what I am proposing here is very complex. It would not be a simple thing to do. But it also is not impossible.
VMWare for example, there is already hardware emulation on some level already happening. Perhaps not on the processor front, but with various other devices. Even though I am fairly sure there is at minimum a good bit of processor abstraction happening. Also true that we *could* technically run lets say Debian on top of another software architecture( HVM or not ), and then run QEMU within that "VM" Somehow though, to me, that just seems over complicated, and less than ideal.
Anyways, yeah, I do not know. I am basically putting my thoughts into writing. Maybe someone out there with more experience can set me straight ?
Yeah thanks for that information. However, I was already aware of MAME, and what I was talking about was just an example. What I was getting at, was to have the ability to create custom hardware ( in software ) to assist with various aspects of design.
While on the subject of MAME though. I think MAME is a perfect example of why someone may want to design in software, and then have the final implementation done in hardware. The hardware technology used to make these arcade boards is ancient by todays standards, Yet runs the "application" much faster than being emulated on a modern ( and really far more powerful ) system. A major difference here of course is that an arcade board is a specific purpose implementation. Where an x86/x84 and given platform was designed with general purpose in mind.
So running with this hypothetical example. It might be possible to run an ARM based VM on an x86/x64 based host. It might also be conceivable that there could be various platform "plugins". Where you may be able to pick the exact platform to more closely match your target system. Then, you would need a boot loader, and possibly an OS. After that, it would just be a simple matter of developing driver modules for your own purposes.
Then it may also be conceivable that the same thing could be done with a PIC, or 8051 micro processor. But I think it would get much harder. Once you start thinking of using processors that do not necessarily have a standard platform. Or even "require" an OS period.
Once again, this is an idea of mine that I think would be really cool, if it ever came to life. Everyone has ideas, and hey perhaps someone does have a better way of going about the same thing. It is just an idea :)
Because any advantages in that setup are minimal compared to the cost and complexity of getting such a system set up when compared to running the OS directly on independent pieces of commodity hardware. That's also why most business (even large ones where the admin advantages would be most pronounced) don't use configurations like that. I have heard of people setting up "kiosk" type PC's where the user boots directly into a VM. A new copy of the VM gets loaded upon startup and deleted on shutdown/logout each time the machine is used. This is more for security than ease of use, though.
I myself, when I was student, and shared a computer with my sister (she studied architecture), implemented two virtual machines using Thinsoft Betwin, under a Pentium II system.
It allowed me to save the cost of case, motherboard, processor, memory, optical drive and hard disk.
And also allowed me to invest on a more powerful computer. All better components. We both made heavy tasks. The only hurdle was temporary freezes when somebody accessed the hard drive.
Look at this photo: http://iis2004.blogsome.com/images/cite09.jpeg You see a common cyber café. You see lots of wasted money on unused hardware. A mountain of wasted money. People just use those computers to access web pages.
The initial investment is huge, and most computers remain unused by important lapses. Costs of energy run wild. Those places turn hot very fast when users fill it, and refrigeration cost raise to sky level.
Frequently a user mess a computer, causing it to stop working, adding cost because of clients lost, and maintenance.
Schools have similar problems.
An i7 920 computer, with 12 Gb of ram, and a fast SSD would allow saving between to 7 computers, reducing the energy costs by a lot, and reducing the space used by computer. When a user mess a computer, you just start a copy of a virtual machine. When less people use the system, they have access to a more powerful machine.
It requires small modifications to existent virtualization software, and enables access to new markets.
But they have just integrated video, with low requirements, and I think that nVidia (or AMD) would be interested on replace those integrated video with a small number of more powerful discrete cards.
Last two geforces I bought included trial copies of Betwin, and video card makers know that their cards already achieved a level of performance that need to connect more monitors to justify the processing power, at least to the common user. So they would be interested in work with virtualization companies to develop virtualization capabilities. It’s perfect for massive parallelized architectures.
We do use our single machine as two machine by me and my brother simultaniously I have following setup
processor = intel core 2 duo E8300 (supports VT-x, VT-d, execute disable bit) mainboard = intel DQ45CB (supports VT-x, VT-d) graphics card = ATI Radeon 5670 1G (let me use two displays with full resolution) RAM = 4GB HDD1 = Seagate Burracuda, 500GB HDD2 = WD Black Cavior, 500GB PS2 = keyboard1, mouse1 USB = keyboard2, mouse2 (used to attach with vmware exclusivly) VDU1 and VDU2 attached to Graphics card
we have seperate sound also front panel sound capabilities for user1 (host OS windows 7) back panel sound capabilities for user2 (guest OS windows XP)
host OS = windows 7 Guest OS = windows XP VMM = VMware 7
windows 7 on HDD1 windows 7 pagefile on HDD1 VM Machine (windows XP) for second user on HDD2 (vm config = 2GB memory, single processor)
first user simply use the native windows 7 (hdd1, keyboard1, mouse1, VDU1) start vmware run virtual machine grab usb keyboard and mouse exclusivly in virtual machine through vmware menu (menu, VM, removable devices) move virtual machine to second monitor switch to full screen mode second user is on
Benefits save power, save space, save waste once machine retires, reduce CTO, save power backup setup cost and later running cost
it works great for us and it should be for anyone else also. just remember to choose VT-d enable board along with VT-x enables processor for good efficiency.
The main point behind virtualization is to maximize the usage of a server's CPU, memory and storage capabilities.
In addition to the complexity and its attendant cost that nafhan mentions, you also have to consider that VM's are not focused on processes that involve direct user input.
By contrast, your average home user is performing tasks that require a screen, a keyboard and a mouse. As such, the VM is not a good fit for that situation.
Additionally, most VM's emulate low-grade hardware when it comes to things like graphics and sound. Video and sound capabilities are often key components in the type of activities the average home users needs.
What you describe would be closer to a thin client type of system. Even in that scenario, however, the cost of the hardware needed to give each thin client appropriate Audio/Visual capabilities would be the major cost. As such, there's just not enough savings in setting up centralized processing and storage to make it worth developing and marketing media-capable thin client systems.
Yeah, I do not buy that for a minute. I remember reading articles concerning using VMWare to run honey pots(for catching viruses in the wild ) long before Virtual servers were even talked about much. I also remember using VMWare long before any "sane" system admins would even consider such a notion of using virtual servers.
There are many reasons to have a guest OS on a host system. Virtual servers just happens to be the latest trend. A trend that seems like it will last a very long time. Probably for good reason.
"By contrast, your average home user is performing tasks that require a screen, a keyboard and a mouse. As such, the VM is not a good fit for that situation."
Is for that reason that those capabilities need to be developped.
You are wrong if you think that virtual machines need a lot of work to do it. The asignation of a specific mouse and keyboard to a given virtual machine is easy, and have negligible impact on performance.
Virtual Machines already output to his own video to host OS windows, so they just to need to assign the output to a preconfigured monitor.
Im sort of new to virtualization so I was wondering if you set a vm to have say a 20gb C drive and a 40gb D drive can you change the C drive after windows is up and running without having to wipe the VM or is it like normal windows where it will basically throw up on itself if you try to change the primary partition size?
Hi Anand, Thanks for all these lovely and insightful technology coverage.
Anand, May I request you to consider/include virtualization as an independent segment for all your combined reviews like gaming Office, Games, Multimedia, Archiving.
Anand, I would also like to request you to please make an independent review "Virtualization" on intel i7-8xx processor + intel DQ57TM board as only these two combination support both VT-x and VT-d. there is no other solution available in sub $300 processor category.
I am a programmer and virtualization is my prime requirement at home but alas it is totally ignored subject except this article series...(even you ignored Q67 in your SandyBridge preview) no one review it, no one highlight it
(though intel all processor support VT-x but only one board support VT-d and I am sure many user get frustrated when they do not find VT-d on media series boards or get sorrow when they bought an multimedia board and found there is no VT-d support intel communities are the place to find these cases.
what intel extreme series board do - they should further combine the media and executive series features into one but that is not the case :(
Virtualization at home is sure a very important case now even the rise of bare metal hypervisors xenClient, nxTop proves it.
Anand, I want to thank you very much to bring this virtualization webinar and the series of questionnaire on virtualization, and I feel it needs to be an independent segment like gaming.
One last thing, i do not use my system to one task at a time. i do run a lot of background and foreground tasks simultaneously, is it not fair to include one grand multitasking in every review to throw many tasks simultaneously on processor to really measure cache and memory bottlenecks.
Thank you once again Anand and Anandtech team to deliver us a unique perspective on technology and products.
What would be more attractive to home users would be perfect virtualization (i.e. the VM behaves exactly like a real machine). Many hack detection tools used in online games complain when run in a VM. Ideally they shouldn't be able to tell the difference.
We’ve updated our terms. By continuing to use the site and/or by logging into your account, you agree to the Site’s updated Terms of Use and Privacy Policy.
15 Comments
Back to Article
yyrkoon - Friday, September 3, 2010 - link
About the second question, and the answer given. Granted this was not the answer I really wanted to hear. Iit seems to me that "we" rarely get what "we" exactly want. Especially where computer hardware/software is concerned.The way I see it. At minimum embedded systems development could benefit from this greatly. Not everyone is a professional in this field, and lots of ( possible ) budding embedded developers *could* potentially get ahead with out having to buy actual hardware. Of course with *NIX, you have tools such as QEMU, and probably a plethora of many other tools that I am unaware of. Of course, I am far from being an expert in the embedded systems design field.
One example I could think of after talking to a friend who has been an Electronics Engineer for more than 30 years would be this. Take the average arcade board from the 80's. Some or possibly many ran processors similar to lets say an 8085 ( yes thats right, not an 8086, or 8088 ), and then had in a lot of cases a ton of custom hardware all doing various things. While at the same time working with the main processor. Really, not too dissimilar from a modern computer system. But definitely not as standardized. These "systems" however did not really run an OS as we now know it. But perhaps did have some form of a boot loader. Again, I am not an expert. But I really can not see any processor not having at least a minimalist boot loader to setup all the accompanying/attached hardware.
Now, how cool would it be to actually be able to emulate that processor, while at the same time being able to construct your custom hardware ( in software ) ? I am sure someone can see where i am going with this, and I am sure that is not too much of a stretch to think that *someone* could possibly already being doing this in-house already. We already ( sort of ) have this with FPGA's. But from the angle I am coming from; It is not really the same thing. For starters. FPGA's are less than ideal in many cases, for different reasons. Even *if* they can be emulated entirely in software.
Maybe what what I am suggesting is out of scope with this discussion as some may see it. Seeing as emulation, and virtualization are two different things. One is a vitualization of hardware, while the other is a virtualization of software( simply put ). Also, I do know what I am proposing here is very complex. It would not be a simple thing to do. But it also is not impossible.
VMWare for example, there is already hardware emulation on some level already happening. Perhaps not on the processor front, but with various other devices. Even though I am fairly sure there is at minimum a good bit of processor abstraction happening. Also true that we *could* technically run lets say Debian on top of another software architecture( HVM or not ), and then run QEMU within that "VM" Somehow though, to me, that just seems over complicated, and less than ideal.
Anyways, yeah, I do not know. I am basically putting my thoughts into writing. Maybe someone out there with more experience can set me straight ?
miteethor - Friday, September 3, 2010 - link
If you want arade boards emulated, look at MAME it runs thousands of different custom arcade boards already in software.yyrkoon - Friday, September 3, 2010 - link
Yeah thanks for that information. However, I was already aware of MAME, and what I was talking about was just an example. What I was getting at, was to have the ability to create custom hardware ( in software ) to assist with various aspects of design.While on the subject of MAME though. I think MAME is a perfect example of why someone may want to design in software, and then have the final implementation done in hardware. The hardware technology used to make these arcade boards is ancient by todays standards, Yet runs the "application" much faster than being emulated on a modern ( and really far more powerful ) system. A major difference here of course is that an arcade board is a specific purpose implementation. Where an x86/x84 and given platform was designed with general purpose in mind.
So running with this hypothetical example. It might be possible to run an ARM based VM on an x86/x64 based host. It might also be conceivable that there could be various platform "plugins". Where you may be able to pick the exact platform to more closely match your target system. Then, you would need a boot loader, and possibly an OS. After that, it would just be a simple matter of developing driver modules for your own purposes.
Then it may also be conceivable that the same thing could be done with a PIC, or 8051 micro processor. But I think it would get much harder. Once you start thinking of using processors that do not necessarily have a standard platform. Or even "require" an OS period.
Once again, this is an idea of mine that I think would be really cool, if it ever came to life. Everyone has ideas, and hey perhaps someone does have a better way of going about the same thing. It is just an idea :)
marraco - Friday, September 3, 2010 - link
What about the consumer market?Enabling virtualization in home. Allowing to use a single machine with terminals for each member.
Why it still is not avalable?
nafhan - Friday, September 3, 2010 - link
Because any advantages in that setup are minimal compared to the cost and complexity of getting such a system set up when compared to running the OS directly on independent pieces of commodity hardware.That's also why most business (even large ones where the admin advantages would be most pronounced) don't use configurations like that.
I have heard of people setting up "kiosk" type PC's where the user boots directly into a VM. A new copy of the VM gets loaded upon startup and deleted on shutdown/logout each time the machine is used. This is more for security than ease of use, though.
marraco - Saturday, September 4, 2010 - link
I completely disagree.I myself, when I was student, and shared a computer with my sister (she studied architecture), implemented two virtual machines using Thinsoft Betwin, under a Pentium II system.
It allowed me to save the cost of case, motherboard, processor, memory, optical drive and hard disk.
And also allowed me to invest on a more powerful computer. All better components.
We both made heavy tasks. The only hurdle was temporary freezes when somebody accessed the hard drive.
Look at this photo:
http://iis2004.blogsome.com/images/cite09.jpeg
You see a common cyber café.
You see lots of wasted money on unused hardware. A mountain of wasted money. People just use those computers to access web pages.
The initial investment is huge, and most computers remain unused by important lapses. Costs of energy run wild. Those places turn hot very fast when users fill it, and refrigeration cost raise to sky level.
Frequently a user mess a computer, causing it to stop working, adding cost because of clients lost, and maintenance.
Schools have similar problems.
An i7 920 computer, with 12 Gb of ram, and a fast SSD would allow saving between to 7 computers, reducing the energy costs by a lot, and reducing the space used by computer.
When a user mess a computer, you just start a copy of a virtual machine.
When less people use the system, they have access to a more powerful machine.
It requires small modifications to existent virtualization software, and enables access to new markets.
Some cybercafés are used for gamming:
http://www.osscc.org/wp-content/uploads/2007/04/cy...
But they have just integrated video, with low requirements, and I think that nVidia (or AMD) would be interested on replace those integrated video with a small number of more powerful discrete cards.
Last two geforces I bought included trial copies of Betwin, and video card makers know that their cards already achieved a level of performance that need to connect more monitors to justify the processing power, at least to the common user.
So they would be interested in work with virtualization companies to develop virtualization capabilities. It’s perfect for massive parallelized architectures.
pkoi - Tuesday, September 7, 2010 - link
I like your post I've always been a big fan of Betwin possibilities, but never implemented it to it's fullest.chukked - Sunday, September 5, 2010 - link
We do use our single machine as two machine by me and my brother simultaniouslyI have following setup
processor = intel core 2 duo E8300 (supports VT-x, VT-d, execute disable bit)
mainboard = intel DQ45CB (supports VT-x, VT-d)
graphics card = ATI Radeon 5670 1G (let me use two displays with full resolution)
RAM = 4GB
HDD1 = Seagate Burracuda, 500GB
HDD2 = WD Black Cavior, 500GB
PS2 = keyboard1, mouse1
USB = keyboard2, mouse2 (used to attach with vmware exclusivly)
VDU1 and VDU2 attached to Graphics card
we have seperate sound also
front panel sound capabilities for user1 (host OS windows 7)
back panel sound capabilities for user2 (guest OS windows XP)
host OS = windows 7
Guest OS = windows XP
VMM = VMware 7
windows 7 on HDD1
windows 7 pagefile on HDD1
VM Machine (windows XP) for second user on HDD2 (vm config = 2GB memory, single processor)
first user simply use the native windows 7 (hdd1, keyboard1, mouse1, VDU1)
start vmware
run virtual machine
grab usb keyboard and mouse exclusivly in virtual machine through vmware menu (menu, VM, removable devices)
move virtual machine to second monitor
switch to full screen mode
second user is on
Benefits
save power,
save space,
save waste once machine retires,
reduce CTO,
save power backup setup cost and later running cost
it works great for us and it should be for anyone else also.
just remember to choose VT-d enable board along with VT-x enables processor for good efficiency.
:)
Chukked
marraco - Sunday, September 5, 2010 - link
Great news. Thanks for posting.ggathagan - Friday, September 3, 2010 - link
The main point behind virtualization is to maximize the usage of a server's CPU, memory and storage capabilities.In addition to the complexity and its attendant cost that nafhan mentions, you also have to consider that VM's are not focused on processes that involve direct user input.
By contrast, your average home user is performing tasks that require a screen, a keyboard and a mouse. As such, the VM is not a good fit for that situation.
Additionally, most VM's emulate low-grade hardware when it comes to things like graphics and sound.
Video and sound capabilities are often key components in the type of activities the average home users needs.
What you describe would be closer to a thin client type of system.
Even in that scenario, however, the cost of the hardware needed to give each thin client appropriate Audio/Visual capabilities would be the major cost.
As such, there's just not enough savings in setting up centralized processing and storage to make it worth developing and marketing media-capable thin client systems.
yyrkoon - Friday, September 3, 2010 - link
Yeah, I do not buy that for a minute. I remember reading articles concerning using VMWare to run honey pots(for catching viruses in the wild ) long before Virtual servers were even talked about much. I also remember using VMWare long before any "sane" system admins would even consider such a notion of using virtual servers.There are many reasons to have a guest OS on a host system. Virtual servers just happens to be the latest trend. A trend that seems like it will last a very long time. Probably for good reason.
marraco - Saturday, September 4, 2010 - link
"By contrast, your average home user is performing tasks that require a screen, a keyboard and a mouse. As such, the VM is not a good fit for that situation."Is for that reason that those capabilities need to be developped.
You are wrong if you think that virtual machines need a lot of work to do it. The asignation of a specific mouse and keyboard to a given virtual machine is easy, and have negligible impact on performance.
Virtual Machines already output to his own video to host OS windows, so they just to need to assign the output to a preconfigured monitor.
shin0bi272 - Friday, September 3, 2010 - link
Im sort of new to virtualization so I was wondering if you set a vm to have say a 20gb C drive and a 40gb D drive can you change the C drive after windows is up and running without having to wipe the VM or is it like normal windows where it will basically throw up on itself if you try to change the primary partition size?chukked - Saturday, September 4, 2010 - link
Hi Anand,Thanks for all these lovely and insightful technology coverage.
Anand, May I request you to consider/include virtualization as an independent segment
for all your combined reviews like gaming Office, Games, Multimedia, Archiving.
Anand, I would also like to request you to please make an independent review
"Virtualization" on intel i7-8xx processor + intel DQ57TM board as only these two combination support both VT-x and VT-d. there is no other solution available in sub $300 processor category.
I am a programmer and virtualization is my prime requirement at home but alas
it is totally ignored subject except this article series...(even you ignored Q67 in your SandyBridge preview) no one review it, no one highlight it
(though intel all processor support VT-x but only one board support VT-d and
I am sure many user get frustrated when they do not find VT-d on media series
boards or get sorrow when they bought an multimedia board and found there is no VT-d support intel communities are the place to find these cases.
what intel extreme series board do - they should further combine the media and executive
series features into one but that is not the case :(
Virtualization at home is sure a very important case now even the rise of bare metal
hypervisors xenClient, nxTop proves it.
Anand, I want to thank you very much to bring this virtualization webinar and
the series of questionnaire on virtualization, and I feel it needs to be an independent
segment like gaming.
One last thing, i do not use my system to one task at a time. i do run a lot of background
and foreground tasks simultaneously, is it not fair to include one grand multitasking in every review to throw many tasks simultaneously on processor to really measure cache and memory bottlenecks.
Thank you once again Anand and Anandtech team to deliver us a unique perspective on technology and products.
warm regards,
Chukked
teohhanhui - Saturday, September 4, 2010 - link
What would be more attractive to home users would be perfect virtualization (i.e. the VM behaves exactly like a real machine). Many hack detection tools used in online games complain when run in a VM. Ideally they shouldn't be able to tell the difference.