Dedicating multiprocessors per OS structure

June 5, 2012

A few weeks ago something I’ve been thinking about for a while came back into my thoughts. What if instead of multithreading at the application level, we instead dedicate a chip of a multicore processor to a specific OS resource.

What kind of OS resource? I don’t know. Maybe four processors at ring zero, or at the IO subsystems. We could have application specific cores that are optimized for specific software tasks, just as the new graphic processors are used for APU.

I’m certainly not a system designer and the above is probably pure drivel. Like, how would context switching work and not slow everything down? However, there are possible reasons why perhaps its not.

  • Number of cores will keep growing.
  • GPUs will become more important and powerful.
  • Future applications will be distributed and require advanced resource handling, example, hierarchical robust device systems, like memory handling.
  • Thermal limitations will demand new forms of optimization.
  • AI and robotics applications will reach a tipping point and become ubiquitous, and even more performance will be demanded from computing systems

After thinking about this, I later started seeing articles on internet-on-a-chip, a new way of connecting multicores. Interesting.

Further reading

Samsung Galaxy Note is not too big.

February 20, 2012

Just got the Note. The AT&T model differs from the prior European model, I believe. Previously I had an iPhone, probably could even be the original one. I think my iPhone was using cogs and gears, so slow. If I opened the map and started entering an address, by the time the screen would respond to the first character, I would stumble upon my destination or get there by stopping at every gas station along the way. Well, anyway.

Most reviews of the new Note carry on about the size. Yes, it is larger but not by that much. In fact, like monitors and flat screen TVs, its the trim (bevel) that makes them look larger. The Samsung Note’s screen size is just about right. If Apple came out with a five and a half inch smart phone all the pundits would be drooling and everyone buying; let’s see how cool this would look in the cafe!

If I put the phone in my shirt pocket only about half an inch sticks out at the top, and that part is the trim where the camera and AT&T logo are located. Highly nerdy looking, btw. It is not very pocketable. They could have made the Note even better by minimizing the top and bottom bevels.

So, since it is a cross between a phone and a pad, where and how do you carry the dam thing? Is it squinting into tiny little screens or “hey baby, I’m happy to see you in a square kind of way!”.

As to the phone’s worth? [After using it a few days? Great!]

Of course, the screen is great. A Netflix movie looks awesome. But, what noob would really watch many movies on a phone; what about cinematography, sound, and all that? Better for shorter stuff like Youtube videos. At least, currently, for my tastes.

Meah. I tried it once, it did not keep up with my strokes. Perhaps, there is a setting for it. I will probably use it if I can adjust that. I think the old Palm Pilot’s pen kept up with the strokes, so a dual-core 1.5GHz system should do better. [update: Tried it a few times. I selected the eraser. If you stroke too fast, the eraser circle disappears. Come on, really?]. I read somewhere that this lag is due to the Note’s processor having to do it all; until Android 4.0 the graphics chip is not really used to its fullest. Don’t know if that is true.

Apps and OS:
It works and looks pretty much like a Galaxy SII Skyrocket. I think they changed a few things and the Skyrocket seems a little smoother and less error prone. Like the soft keys, volume rocker, and sleep switch are just too sensitive on the Note. Maybe it will take getting used to the new form factor so that the hands don’t trigger unwanted actions.

Active Apps app
I was testing the Navigator GPS app that has voice prompting and all that. Then I had to leave on an errand to a different location. The app just kept telling me “turn here, turn here you idiot; your going the wrong way!” Very annoying. I couldn’t stop it.

So, I clicked on the app for active apps, the navigator did not show in the list, huh? Its speaking, knows where I should be going, not where I want to go. So I just dragged the top of the home screen down (nice Android feature) to list the app, opened it, got to its menu, and exited it. In the meantime I almost went off the highway. Yea, don’t drink or mobile while driving, especially with a Note that needs two hands, and a Padma Mayurasana to manipulate. Maybe these things should except an overriding voice input: “shut up!”. Not you honey, this thing that is always so happy to see you.

Feb 21, 2012:
Headphone does not mute speaker volume?
Was using the Note at work today. Had the headphones on. People looked at me like I’m a nut. Turns out the Note was ringing all over the place. I thought my tinkering with the ringtones was just in my earphones. What is up with that? I don’t remember if the iPhone automatically muted the speaker when the headphone was connected. In both, of course, the music, like Pandora was still going through the headphone. Someone told me I first have to reduce the volume so that the ringer is off, then plug in the headphone. Seems convoluted. [that did not work. If you mute the ringer, then only the media volume is working.]

When I Receive A Call, The Ringtone Is Not Heard Through The Hands Free Headset. Is There A Setting To Turn It On?

There are no configurable options or settings available to turn on the ability to hear the ringtones through the headset, they are heard through the handset itself, only. This is a matter of safety, as the decibel level for a normal call is much lower than that of a ringtone. Due to the decibel level of a ringtone being much louder than the human voice, the ringtones are not audible through the headset to protect against possible hearing loss.

That sounds like a lame excuse. If the handset can detect that a headphone plug was inserted or removed it can reduce the ringer volume to a subset of the media volume. Or should, but what do I know?
Blanking of the screen:
The “normal” settings for blanking don’t stop the screen from blanking so quickly. Turns out that is a setting in the custom power saving mode. Maybe it is elsewhere and I missed it.

Further Reading

  1. On Wikipedia
  2. Samsung Galaxy Note Top Tips Collection
  3. Download Android app, give away your body, mind and soul?
  4. Samsung Galaxy Note page
  5. Samsung Galaxy Note: Unboxing, size comparison to Galaxy S II

  6. The Samsung Galaxy Note Vs Galaxy S II Vs Pockets Showdown / “Pocketability” demo!

Windows 8 Storage Spaces?

January 7, 2012

Finally Windows may get a file system that adds features that have been around for years in Linux and Unix.

The state of the art in file system design could arguably be ZFS which is used in Solaris and a few other places.

Storage systems seem like very complex engineering systems. I wonder if Microsoft would have just been better off not reinventing the wheel and just licensing ZFS technology or something else? Just search for user horror stories regarding any of the storage improvements on Windows, from drive extender, encryption, WHS, etc.

And what ever happened to the object file system, the DB based file system?

Storage Spaces is somewhat like ZFS, although it has no deduplication and lacks other ZFS features. However, it is a start – and Microsoft will probably add features such as snapshots, replication, deduplication, and, maybe, compression. El Reg also thinks that there could be a Hyper-V virtualisation angle to this – and more is to come. —

Jan 17, 2012: Ah, so Microsoft is working Resilient File System (ReFS).

Microsoft mentioned all the important keywords when promoting ReFS with words like resilience, availability and the use of storage pools, something made popular by Sun’s – and now Oracle’s – ZFS.
Source: The Inquirer (

Further Reading

VOWS “Winter’s Grave” OFFICIAL video

State Machine discord as system error detection

October 24, 2011

It takes three subsystem state machines to create an error adaptive system.

This morning in the shower I was thinking about my last post on SCXML. What do you use as states in a system? Easy question, but then I thought, sure its internal states of a process, but how does the external “real” come into the picture, via guards? That could get messy in a very complex real world system. So, what if the external system is also modeled as a state machine?

Now we have two state machines, internal system and external system. What is the advantage? Well, each can have a peak into the other or using historical information, compute how the other works. Then if this prediction is not matched, it is an error. That is, if the internal machine is at state x and it knows that the external machine should be at state y at this point, and it is not, it is a system error. What to do?

This is where a third error machine would come into use. The function of this machine is to bring the other two into resonance, reduce the entropy, heat.

Depending on whether the machines are Mealy or Moore based, one would detect errors at particular points, events, transitions, or states.

I remember reading years ago about fault tolerant hardware systems. The minimum components was three; similar.

Hmmm. I don’t know what everything above really means, if anything. :)

For future thinking …


ATi Radeon 7970 [CAD Animation Benchmark]

External HD enclosure with SATA to eSATA

March 6, 2011

Finally switched my external HD enclosure from external USB to the included eSATA hardware.

It worked! I didn’t measure performance, but I clicked on the drive and the explorer window popped up quick, not like the usual USB drive. Then I did a check disk (w/fix) on it. Wow! How fast.

RoseWill RX358-S SLV, a single disk enclosure, comes with support for SATA to eSATA interface. What’s nice is that comes with the hardware, bracket and the cable. Just had to plug the internal cable to a SATA plug on the PC motherboard. No drivers or software to install.

Interesting, I thought that SATA and eSATA were incompatible; the hardware is just a connector adapter.

Now if Windows 7’s backup software were not so inscrutable. Not sure if differential really works, see. The 1TB drive already has only 314GB free after only two backups!


  1. RoseWill RX358-S SLV
  2. Sold on

— HP P6230Y
— AMD Phenom II X4 810/2.6 Ghz
— Windows 7 Professional
— HIS HD 5670 IceQ 1GB (128bit) GDDR5 PCIe Display Port (DirectX 11/ Eyefinity)
— Samsung SyncMaster P2350
— Acer P241w

Added ATI HD 5670 Graphics card to PC

October 7, 2010

As I wrote about before My desktop, an HP P6230Y, even with a quad-core chip, the AMD Phenom II X4 810/2.6 Ghz, the Windows Experience Index is just 4.5 due to the low score of the main board graphics (with shared system memory).

The Card

I installed the “HIS HD 5670 IceQ 1GB (128bit) GDDR5 PCIe Display Port (DirectX 11/ Eyefinity)” graphics card. I’m not a gamer, so I picked an average performance video card. My big requirement was noise, I didn’t want to hear another fan. Second was multi-monitor support. Based on reviews the card made by HIS fit the bill.

Catalyst Install Manager Issue

Installing the card was very easy. Open the case and gently push it into the slot, then attach the monitors. Boot, and get a standard VGA screen. Now install the graphics drivers. Oops! They fail. Trying to uninstall any drivers fails. Looked at Process Explorer, but no driver is running. Downloaded the latest driver. Nope. Of course, the error info and Windows Event log are useless unless you have all that arcane knowledge of Windows internals.

Time for web search. The first link had the answer! I followed the last suggestion, using the command line approach.


Did it make a difference? Wow! Everything runs faster, even things I did not think would make a difference. Now even streaming video services, like Hulu, YouTube, and NetFlix are faster and more reliable. Based on this experience I think even for non-game PC a good graphics card is essential. My son tried Modern Warfare 2 on it. Even he was floored with it. On high settings, the graphics were great and game play was smooth.

Keeping my fingers crossed that the card is ok, just had it two days. Connected it to two monitors with DVI and HDMI connectors. 23″ and 24″ monitors. If I had a DisplayPort cable and adapter I have another monitor I could also attach.


The Windows Experience Index for Graphics is now 7.0:

  • Memory (RAM) 8.00 GB: 7.5
  • Graphics ATI Radeon HD 5600 Series: 7.0
  • Gaming graphics 4083 MB Total available graphics memory: 7.0
  • Primary hard disk 522GB Free (686GB Total): 5.9

Whats with that low storage score, 5.9?


I noticed that when changing media streams, like one youtube clip to another, there is a momentary glitch on the HDMI connected monitor (ACER P241w [whose text output is ugly]). I think its just Flash format, so far. Am thinking of sending the card back if its a card thing. So far, it could be:

Cannot print to networked USB printer

September 12, 2010

So I solved the connection to old printer using a USB to Parallel adapter. Then I find that a laptop cannot print to that printer over the network.

This is where being able to read very quickly comes in handy. I found the solution which really just points to the actual solution here from Paul in Montreal.

I’ll just reproduce the post below, but removing some details about the authors system. It worked for me. Now my family laptop upstairs running Win7 can print to my USB attached HP LaserJet 4P on the PC in the cave downstairs. Thanks Paul!

Paul in Montreal

Posts: n/a
Re: Can’t connect to Network printer – Win98
Hello all,

I’ve found a solution (worked for my setup) that clears the printer offline
problem when printing from a Vista laptop PC over a home network to a printer
connected to a Windows98 desktop PC. I never had this problem with my XP
Home laptop accessing the printers on the Windows98 PC.


Here’s the fix:
1. In Control Panel, Printers, delete offline printers. If they wont
delete, it may be because there are pending print jobs in the queue. Open the
printer and Cancel the jobs.
2. In Printer properties, Ports tab, delete the previoulsy installed
printers (offline statuts) that appear as Client Side Rendering Provider
under the Description column. To do this, highlight the port, then click on
Delete Port button. Click Apply.
3. Restart your PC.
4. Now reinstall the printers as follows:
5. Open Control panel, Printers, and click Add a printer.
6. Click Add a local printer.
7. Select the “Use an existing port” radio button, and select LPT1: (Printer
Port). Click Next.
8. Install the printer driver. Mine were found in the list included with
Vista. Select the manufacturer and the printer. Click Next.
9. In the next window, accept the printer name or type in a new name. Leave
the “Set as default printer” box unchecked. Click Next.
10. Vista should now install the printer. A window should open saying
“You’ve successfully added printer name.
11. DO NOT Print a test page at this time, because nothing is connected to
the LPT1 port on the laptop. Just press Finish. The printer you just added
should appear in the Printers window.
12. Click ONCE on the newly added printer to highlight it, then right-click
and open Properties.
13. On the Ports tab, click Add Port…, select Local Port, then click New Port
14. When the Port Name window open, Enter a port name as follows:
(replace computername with the name of your PC acting as print server, and
printername with the name of your printer). Click OK.
15. You should now have a new port listed on the Ports tab of the printer
Properties, but now the Description should be Local Port, instead of Client
Side Rendering Provider. Click OK.
16. Now you can go to the General tab, and Print a Test Page.

Hopefully, your test page will print. Then restart your computer to check
that the printer comes back online.

This procedure worked for me. Hope it works for you too. Good luck!

Sep 19, 2010: Now another older laptop does not connect to the new printer location. This one is a Windows XP and it complains about access. I guess this has to do with the laptop not having credentials on the printer “server”. This is not good, who wants to be the IS admin at home? I don’t get it, years of AI research, UI improvments, and more powerful hardware, yet still we are managing information systems like its 1988.

USB to Centronics Adapter on Windows 7

September 5, 2010

I was using an old laptop’s parallel port to connect to my old but reliable Hewlett-Packard Laserjet 4P printer. Time to try an adapter instead. It works!

1. Radio Shack part number 260-0184: Gigaware 6-ft. USB-A to Centronics Parallel Printer Cable.
2. HP P6230Y Desktop
3. Windows 7 Professional

The bad part. The adapter does not list Windows 7 as a supported OS. For Vista, the instructions say you don’t need the CD with the drivers. So, I just tried it. Put the cable in the PC’s rear USB port. Windows reports that the drivers installed correctly. The device is:
Name: USB Printing Support
Device type: USB controllers
Location: Port_#0001.Hub_#0002

Install Drivers
Now install a new printer using the Windows Control Panel, Devices and Printers. Of course, it did not work. Choosing LPT1 won’t work, obviously. But, there was no selection for a USB name in the Local Port dialog. Hmmm. Time to look for drivers maybe? I searched but did not find anything for this. Luckily I stumbled onto this forum topic “old printer won’t work this new computer“. Some people there had luck with setting the local port of the new printer to USB001. That didn’t work either, when I tried it said the port was already in use or allocated.

I removed all the printers that I installed trying to get this to work and tried again. I think my last attempt I still used USB001. Success! A test page printed. In the Printer’s Property page the Port used is listed as: USB001 Virtual Printer port for USB.

I think the problem was all of those failed attempts that did add the printer but incorrectly. Makes no sense. Anyway, I hope this helps someone in some way.

Now what to do with that old laptop? Reinstall the old WinXP OS so it can run at 1980 speeds at least.

12/17/2011: Printer adaptor still working great!

USB to Centronics Adapter on Windows 7

Add 2nd hard drive to HP p6230y desktop

July 18, 2010

My old Laptop finally reached its end, too slow.  Looked into building a new PC but found a good enough PC:  cheap, quiet, and not slow.

I was going to document how to install the new hard drive.  I saw a few pleas on the web on how to do this with this particular system; if it is even possible?  Of course, the PC’s manual is useless and there is no info on the motherboard being used.  But, the new hard drive I put in did not work on first try!  Was it DOA?  Does this board or OS require complexity?

The PC

The HP Pavilion P6230y is nothing to write home about, but was certainly inexpensive and much lower then any build your own I was considering. Its lowest Windows Experience Index is a measly 4.5 due to its onboard graphics that shares system memory, and with a Power Supply of just 400W cannot accommodate a gaming graphics card.  Nevertheless, so far I have not experienced any lack of power.  The  AMD Phenom II X4 810/2.6 GHz quad processor and 8 GB RAM is enough to multitask to my hearts content.

The best part of this PC is that it is quiet.  Very quiet.  And, the Hard Drives it now has, contrary to people’s reviews on some hardware sites is quiet too.

BTW, why don’t hardware review sites list the noise from any system under review?

Windows Backup

Anyway, the built in Windows 7 backup has a hard time backing up to my NAS, an old noisy Infrant X6.  I backup to an external USB drive, but to be doubly safe I wanted to install a second hard drive to mirror the primary.  Supposedly, Windows 7 can do software based mirroring.

Mirroring or RAID

Why mirror and not RAID?  RAID is not really all that safe.  Sure the data is ‘safer’, but the data is now hidden in the RAID format, and if you lose the controller, its gone (no guarantee that RAID volumes can migrate to a new controller). 

Furthermore, you can’t take a RAID volume and use it directly in another non-RAID system. Not sure if this is also true for RAID1, mirroring.  Todo!

Anyway, software RAID will be much bigger as systems get more powerful. Here is a recent article on Intel’s allowing this much easier.

The New Drive

Buying a hard drive is not easy.  Which is the best or most reliable? Reading the opinions can be confusing.  I read some reviews and searched the web for the definitive assessment.  There isn’t any.  So, I just settled on one after I hope was my filtering of bogus opinions.

The primary hard drive in this PC is a ST3750528AS Seagate Barracuda 7200.12 SATA 3GB/s 750GB Hard Drive.  The new hard drive is a Western Digital Caviar Black WD1001FALS-00E3A0 which is 1TB 32MB Cache SATA at 3GB/s.  This drive sells for about $99.00 Bare Drive, amazing!  I also needed the SATA cable and just in case, another power supply cable Y-connector.  I bought two SATA cables that were on sale.


Installing the new drive was easy.   You just need a lot of light and some manual dexterity to align the cables and gently but firmly get everything attached.  The PC case already has a slot for a second drive though you’ll need to purchase or scrounge for the screws to attach it to the cage.

I installed the drive, now the smoke test….

Turn On

Nothing.  The drive was not detected when I booted the PC.  Nothing in the BIOS screens.  Is the drive DOA?  No ……. !  Should I have listened to the reviews on NewEgg?


Fortunately, I am no stranger to hardware and so started my troubleshooting of the issue.   There were a few easy possibilities:

  1. BIOS settings
  2. Drive DOA
  3. Drive dip switches
  4. Windows configuration
  5. Power supply cable
  6. SATA cable

I booted the PC and got into the BIOS settings (I thought BIOS was history on PCs?).   Nothing I could decipher that had relevance.  There was stuff about the built-in RAID, but did not seem relevant.  Plus, some inscrutable settings.  Well, BIOS screens have not improved in the years since I last built my own homebrew (years ago).

Looked at the jumper pins on the drive.  According to the drive case docs and the WD web site, no changes were required.

The Windows 7 sites said the BIOS must detect the drive before Windows can do anything with it.  Makes sense, that’s how I thought it should work.

So maybe the power cable was bad?  Put my Fluke Multimeter on it.  Had the voltages.  Just in case, I took another cable coming from the PC case’s power supply, but still nothing.  Maybe its the SATA cable?

Switched the SATA cable (I bought two).   Nothing.

That leaves me with the only possibility that the drive is just defective.  One last test.  I took an external SATA enclosure I have, took out its hard drive, and plugged in the new one.  It works!  Now what?

I doubt its the power supply so maybe its the cable or the cheap motherboard really doesn’t support more drives.  I doubt a MB could be that cheap, especially since it has so many SATA ports.  But, I switched SATA cables, could two SATA cables be bad?  Ah, I know, I switched cables on the old working drive with the new cable, and the old drive stopped working!

How frustrating!  Its Sunday, but maybe I can find a cable in a bricks and mortar shop, like Staples.  They don’t have it, the local Radio Shack either.  Another store has it and it’s about $10.00.  The two cheap SATA cables I bought on line were about $2.00 each.  They have the Gigaware SATA cable and it works.  Lesson:  Don’t buy cheap junk.

I was planning to make this post a howto for this type of PC, but the SATA cable issue ruined it.  Now I don’t have the screen captures and the optimal steps.

Did I use Windows Active Drives to sidestep RAID1?  Nope.  Did a bunch of searching on this and it does not look reliable.  The PC comes with RAID already, but no documentation.  So, I still have not created the target configuration.  Needs more work.


Fixing Fullscreen Multimonitor Display Using VirtualBox

May 4, 2010

On my dual monitor setup running with Windows 7 (and prior versions), if you have a full-screen video on one monitor and click on an app in the other monitor, the video stops running in full-screen mode.  There is a probably a fix for this; I even think I’ve fixed this before a few years ago.  But, instead of wasting time searching for that solution, I found that with a Virtual Machine, you can sidestep this issue.

With a Virtual Machine running in a PC you can run a video in full screen mode and still use the PC for other things and not have those pesky loss of full-screen mode when you click on another monitor.

This is my setup.  I’m running Ubuntu 10.04 LTS Linux distribution, code named Lucid Lynx, as a guest OS in Windows 7 using VirtualBox version 3.1.6.    The full screen video (in FireFox browser) runs in the guest OS.  Sites  used:  Hulu, netflix, YouTube.

Now this is why Quad Core processing rocks!


1.  Not all apps experience problems with fullscreen mode:  See this faq at the multimon site.

2.  “How To Keep Flash Videos Full-Screen On A Second Monitor”  I didn’t try the suggestions at this site.

3.  Another link.

4. VirtualBox can read the host’s CD/DVD, however this is as a data source not a video or audio source.  shucks.

5. Oct 21 2010: Microsoft’s SilverLight can do full-screen lock and avoid this problem. It’s working on my system. Groovy!


Get every new post delivered to your Inbox.