Wikipedia:Reference desk/Archives/Computing/2011 May 5

From Wikipedia, the free encyclopedia
Computing desk
< May 4 << Apr | May | Jun >> May 6 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


May 5[edit]

Signal distance in CPUs[edit]

As I understand, since an electromagnetic wave travels at the speed of light, a CPU that uses a 3 GHz clock signal cannot have a conductor inside that is longer than 10 cm (since light travels 10 cm in 1/3E9 seconds), is this correct? Then, what about future optical based CPUs that may operate at a terahertz speed, shrinking the maximum signal length to something that won't fit inside the CPU, that is, is there a maximum speed when the size of the CPU cannot be made smaller to accomodate ever-increasing clock pulse speeds? —Preceding unsigned comment added by 83.226.142.75 (talk) 00:33, 5 May 2011 (UTC)[reply]

Your general idea is true. Of course, a conductor or light fiber with a propagation delay greater than the clock period could be used if the design of the system allowed for that bit of data to be processed during the next clock cycle, but I'm sure you didn't intend to consider such cases. Jc3s5h (talk) 01:02, 5 May 2011 (UTC)[reply]
I'm not precisely sure what you're saying here, but getting signals across the chip is not the main limiting factor in CPU design. At the bottom level, a signal shows up at a transistor, and it takes some time for the transistor to react. This happens super fast (and it speeds up a bit each time transistors get smaller), but it takes a long time relative to the amount of time it takes to cover the (usually pretty short) distance that the signal has to travel at close to light speed.
There's a lower limit to how many steps it takes to execute a single machine instruction. If chips operated by reading an instruction, executing it, writing the result to a register, and only then looking at the next instruction, they would probably run about ten or twenty times slower than they do (warning: I'm not a hardware expert, so this is super handwavey). Instead, chip designers use various instruction-level parallelism techniques to execute as many different things at once as possible. Cheating like this (since one instruction can depend on the result of a previous instruction) without ever getting caught is tough, so it's taken maybe twenty years to reach the current state of the art.
But now there's not much more performance to be squeezed from ILP, which is why clock speeds have basically stopped going up. So chip manufacturers, who would love to be able to double the speed of a processor by doubling the the number of transistors, have finally given up and started gluing multiple processors together, forming multicore machines. This essentially kicks the problem upstairs: now the compiler writer or programmer has two or four or forty cores, and has to figure out how to use them all. In order to make computers run faster, we now need programming languages that help programmers express computations in a parallelizable way, without making the various cores keep stopping and comparing notes. Paul (Stansifer) 01:21, 5 May 2011 (UTC)[reply]
Paul is correct in saying that, as chips are designed today, the speed of electromagnetic signals in the materials that the chip is made of is not the limiting factor. The speed at which a practical transistor can raise a 0 to a 1 on a long conductor, or lower a 1 to a 0, is slow enough that the conductor can be treated as a capacitor rather than a transmission line. I would say that in the case of long conductors, the limiting factor is the ability of the transistors on the input end of the conductor to raise or lower the voltage quickly, rather than the ability of the transistors on the output end of the conductor to react rapidly. Jc3s5h (talk) 01:38, 5 May 2011 (UTC)[reply]


(ec) The way the OP phrased his statement is incorrect, ("...a CPU that uses a 3 GHz clock signal cannot have a conductor inside that is longer than 10 cm"); but the point he's trying to get at is about timing and latency due to propagation delay.
There's no fundamental reason why a 10 cm conductor is an upper limit. A digital computer can have any length conductor connecting its components, so long as the signal integrity is preserved. But having a long conductor creates latency, and risks clock skew if many synchronous signals must travel along different paths. For this reason, semiconductor logic engineers must make sure that they can synthesize their circuit on a given transistor technology and meet timing requirements. You can read about how we actually design and optimize timing and circuit path-lengths in this (very technical) Timing Constraints and Optimization guide; or this slightly more accessible overview, Timing Constraints. As I said, there is no reason you couldn't have a 10-meter-long wire in your digital system, as long as the signal wasn't synchronously tied to a shorter signal path. A perfect example of this is wired- or wireless communications, in which digital signals propagate thousands of miles down copper wire or over the air. And, in many cases, those digital signals have fundamental frequencies well into the gigahertz range, and beyond. Nimur (talk) 01:44, 5 May 2011 (UTC)[reply]
If the speed of the processing unit (CPU/DSP/FPGA) is faster than the time it takes for the signal level to propagate along the conductor (copper or fibre) then the circuit has to use some kind of synchronization at all receivers both for arrival time and difference in arrival time between conductors (skew).
This can be seen in DDR DRAM that sends command and data together with a clock pulse. The DDR DRAM waits until it receives the clock pulse before validating the command and data. This is also a potential issue with PCI-X that can suffer from differences in propagation between conductors. And why PCI Express is a much more reliable design choice.
A slow computer like the Commodore 64 can safely assume that all conductors will have the same voltage faster than the clock cycle. And when speed goes up the wires will have to be viewed as telegraph transmission lines where the voltage on the same conductor will vary with the position along the line. Any sharp impedance variation along the conductor will behave according to the superposition principle and give a standing wave phenomena. Which is very bad in circuits where the conductor length is less than the ~10x wavelength. If I'm wrong someone please correct ;) I hope this section finds it's way into an article.. Electron9 (talk) 13:55, 6 May 2011 (UTC)[reply]

Headphones[edit]

Can anyone please recommend some quality over-the-ears headphones that don't have a massive amount of sound leakage under $50? 173.2.165.251 (talk) 01:47, 5 May 2011 (UTC)[reply]

JVC headphones are reasonable in tone quality and range from ~ $15 to professional-grade prices. Nimur (talk) 01:51, 5 May 2011 (UTC)[reply]
The lowest-cost quality headphones are the Grado SR 60, at US$80. Bubba73 You talkin' to me? 20:45, 5 May 2011 (UTC)[reply]
Just read the reviews, and DAMN! They must be a seriously amazing set of headphones! Thanks a bunch for the recommendation. 173.2.165.251 (talk) 12:00, 6 May 2011 (UTC)[reply]
I have their Alesandro Music Series 1. Really good. Bubba73 You talkin' to me? 16:01, 7 May 2011 (UTC)[reply]

silent dispatcher[edit]

While sorting through my alt+tab menu, I noticed a peculiar window called "silent dispatcher" that would refuse to show when I selected it. Within a few seconds, it mysteriously disappeared as it did appear. Google search only reveals some security company and law enforcement programs relating to the keyword "dispatcher". Does anyone know what this program is?

The other windows I had open were MS Word, a video on internet explorer and windows update. --Thebackofmymind (talk) 07:04, 5 May 2011 (UTC)[reply]

A dispatcher is called as part of the windows update process, so it probably wasn't anything sinister. We have a short paragraph at Scheduling (computing)#Dispatcher. I don't know the technicalities, so perhaps an expert can explain? Dbfirs 09:25, 5 May 2011 (UTC)[reply]
Thanks, it is reassuring to hear that it's possibly not malicious. But why would it be "silent"...now that's mysterious. --Thebackofmymind (talk) 09:59, 5 May 2011 (UTC)[reply]
This is probably a hidden window, never intended for user interaction, that became visible in the Alt+Tab menu because of some sort of bug. The window title ("silent dispatcher") is not supposed to be seen by you; it means something to the developer of the application. There are lots of hidden windows on your desktop at any given time. They are used for inter-process communication, since Windows allows processes to send messages to windows belonging to a different process. Acting on those messages could be called dispatching (see sense 6, the computing sense). -- BenRG (talk) 20:56, 5 May 2011 (UTC)[reply]
But we don't have enough information to identify which application is using this silent dispatch window. It's possible it could be malware, and it's equally possible that it isn't malware. If the OP is concerned, they should check what software is installed on their system. Nimur (talk) 21:13, 5 May 2011 (UTC)[reply]
I went over the add/remove programs in the control panel and all the details in the windows update and did not find anything on a "silent dispatcher". I also ran a full system scan on Norton but it only found a couple of tracking cookies. --Thebackofmymind (talk) 21:27, 5 May 2011 (UTC)[reply]
I really doubt that it's anything to worry about. I wouldn't worry if it showed up on my machine while I was running something like Windows Update. "Silent" just means (I assume) that it doesn't display any UI, and "dispatching" is something that every program does all of the time in many different ways.
There's a Microsoft utility called Spy++ that will list all current top-level windows, including hidden windows, and tell you what process they belong to. It doesn't seem to be available for free, but a web search turned up several imitators, including API Manager which is open source (I haven't tried it, though). On my desktop Spy++ shows upwards of 100 hidden windows, including one titled "NetscapeDispatchWnd" that belongs to Firefox. In response to your question on my user page, I don't know of any database of hidden windows. I tried a Google search for "silent dispatcher" but it turned up no relevant results except for this thread, to my surprise. -- BenRG (talk) 08:37, 6 May 2011 (UTC)[reply]
(edit conflict × with BenRG above) No, the dispatcher is not part of the update, it is just some internal Windows coding called by the update process. As Nimur says above, we don't have enough information to know whether it was part of the windows update or was part of some malware, so it is a wise precaution to run scanning software (possibly a different one in case Norton was compromised). You could also search for any files created or modified around the time you saw the window appear, but my gut instinct ( not guaranteed correct! ) is that it was just part of the normal windows update process. If you are really worried, try Ben's suggestion. Dbfirs 08:41, 6 May 2011 (UTC)[reply]

Web platform benchmarking[edit]

I'm looking for software that automatically benchmarks my web platform. Free/open-source preferred. Thank you. 212.68.15.66 (talk) 12:29, 5 May 2011 (UTC)[reply]

Do you mean a validator to ensure your web platform generates standards-compliant web-pages? The official suite of tools is provided here by W3C, the official World Wide Web standards consortium. Or are you seeking server side tools to allow you to profile and instrument the performance of your code? If so, start by reading Profiling (computer programming). We will need much more information about your implementation and what you seek to "benchmark" before we can provide meaningful advice on how to profile your code; profiling web applications runs the gamut from adding a few lines of JavaScript debug and timing information, to customizing your compilation process and running valgrind to analyze cache performance. Nimur (talk) 17:15, 6 May 2011 (UTC)[reply]

avg installer[edit]

Why has the AVG Installer icon suddenly started flashing on my task bar - I do not know whether to let it alter my hard drive so keep clicking on "Close Window" - using windows 7. AVG free programmed installed while ago. —Preceding unsigned comment added by Scotia8 (talkcontribs) 14:22, 5 May 2011 (UTC)[reply]

On Windows 7 any program that opens when you don't have it as the main window will automatically flash. For example, when you open MS word and you switch back to another window before it finishes loading will cause the icon to flash on the taskbar (the icons in the bottom). Another example is when you switch to another window before a download has completed on your web browser will also cause your web browser's icon to flash. So perhaps AVG had finished updating so it is now asking for your attention. --Thebackofmymind (talk) 21:33, 5 May 2011 (UTC)[reply]

Gigabit Ethernet link aggregation[edit]

When doing link aggregation with gigabit ethernet, is the performance increase linear? Will 2 links give 2× throughput? 4 links = 4 gigabit? What's the real world performance of 1-GigE anyway? 50% of bandwidth? 75%? --24.249.59.89 (talk) 16:14, 5 May 2011 (UTC)[reply]

The real world performance will depend on the sending side's ability to read data and the receiving end's ability to write data. Once you start combining multiple gigabit links, even without a full 1Gb added for each link, you'll start pushing up against the limits of the SATA connection to your storage device. A hard drive is unlikely to be able to read or write fast enough in real world situations to saturate a single gigabit connection. If you're using an SSD, you may see benefits from combining multiple gigabit connections if both ends of the connection are able to send and receive the data at speeds surpassing modern hard drives. This, of course, is only taking into account a single storage device at each end as well as only two computers. Depending on what sort of setup you're using, there may be benefits. The actual speeds you should reach, assuming ideal conditions and the ability to read or write data at speeds the link can handle will give you a bit less than 2Gbps for 2 links. Ideal conditions are almost never found in the real world though. Caltsar (talk) 16:54, 5 May 2011 (UTC)[reply]
Thanks! I have an 8-drive RAID 5 that can reach more than 800MB/sec. Fibre and 10GigE is way too expensive to deploy across multiple computers. Link aggregation looks like a far cheaper alternative, although it requires a little more setup. I've seen switches with both Static Aggregation and LACP. Switches that support LACP are the easiest to configure — pretty much plug and play, right? LACP automatically recognizes aggregated connections, right? (Forgive my ignorance, I've only learned all this since this morning!) --24.249.59.89 (talk) 18:59, 5 May 2011 (UTC)[reply]
(ec)Yes, if your hardware is fast enough to handle it. Once you surpass the physical limits of the hard drive, which is likely your first hurdle, you'll reach a limit with the bus or the CPU itself. I'm not sure which limit you'll hit first, because I've not used GigEs with high end multicore CPUs, nor SATA 3.0. Before you get there, you'll get pretty much linear increase in performance. The real world performance of GigE without taking into account the source and destination hardware limitations is about ~95% of bandwidth. --Wirbelwindヴィルヴェルヴィント (talk) 19:07, 5 May 2011 (UTC)[reply]

How can I tell which USB ports I have? Ubuntu PC[edit]

I mean type 1.0 or 2.0. 80.58.205.34 (talk) 17:05, 5 May 2011 (UTC)[reply]

gnome-device-manager lists the USB host controller interfaces, the versions of USB they support, and the devices connected to them. This info is also available (in a rather harder to parse format) from the hwinfo command. -- Finlay McWalterTalk 17:11, 5 May 2011 (UTC)[reply]

Memory and multi-core CPUs[edit]

Resolved

I've been looking at consumer desktop PCs with multi-core CPUs (2, 4, or 6). In each case it seems that the maximum amount of RAM is 4GB times the number of cores. These are 64-bit CPUs with a 64-bit operating system, so is there a reason why they are limited to 4GB per core? (I thought a 64-bit CPU with 64-bit OS would not have a limit that small.) Bubba73 You talkin' to me? 20:40, 5 May 2011 (UTC)[reply]

There's no technological reason for that limit, and I don't think it's a limit of any 64-bit version of Windows either. -- BenRG (talk) 21:00, 5 May 2011 (UTC)[reply]
It is very probable that this is a matter of "market segmentation"; assuming you can afford 16 GB of RAM, it seems unlikely that you cannot also afford a slight price increment between a two- and a four-core CPU; so that's how the vendor configures their pre-packaged systems. If you choose to buy a system and upgrade the processor or RAM yourself, you won't have any such limitation. Nimur (talk) 21:11, 5 May 2011 (UTC)[reply]
I have a four-core system on order, and the maximum RAM is 16GB. The two-core systems I looked at have a max of 8BG and the six-core max out as 24GB. Bubba73 You talkin' to me? 21:26, 5 May 2011 (UTC)[reply]
Like Nimur said, that's just their pre-packaged systems and if you build it yourself you'll have much more choice. For example I'm running an i7-920 (Quad core) with a DFI DK X58-T3eH6 motherboard which supports up to 24Gb of RAM (I'm only using 6Gb, but you get the point) and this isn't new either as I built this system way back in March 2009.  ZX81  talk 21:46, 5 May 2011 (UTC)[reply]
But these seem to have memory slots for only 4GB per core on the motherboard. According to Crucial, these are the maximums you can put in them. Bubba73 You talkin' to me? 23:41, 5 May 2011 (UTC)[reply]
The core's honestly have nothing to do with it, if the motherboard only supports maximum of 4Gb per slot, get a motherboard with 6 slots (4Gb * 6 = 24Gb total). Likewise if a motherboard supports a quad core processor, it's more than likely going to also support a dual core processor, which would then also break your logic (as a 16Gb max motherboard would then be 8Gb per core). Core's aren't related to the amount of RAM the motherboard can use, they're two completely different things. Once you get to 256Gb of RAM it gets more complicated, but until that point it's down to the hardware you're buying.  ZX81  talk 00:27, 6 May 2011 (UTC)[reply]
As far as I can tell, the only way to get a mobo cable of 24GB from Dell is with a six-core CPU. Bubba73 You talkin' to me? 02:38, 6 May 2011 (UTC)[reply]
I don't know if the following links will works, but there's 89 motherboards on Newegg.com that support 32Gb of RAM and in the server section there's two that support 256Gb (and quite a few in between). Hope this helps!  ZX81  talk 03:10, 6 May 2011 (UTC)[reply]
Intel artificially limits the memory supported by the consumer-grade Core i7 line (e.g. 24 GB for i7-980X). This is intentional to differentiate these chips from the functionally similar Xeon server chip line which in general support much higher amounts of maximum memory (e.g. 288 GB for X5650). Dragons flight (talk) 00:46, 6 May 2011 (UTC)[reply]
Thanks, that may explain it. I have been looking at i7. Bubba73 You talkin' to me? 02:38, 6 May 2011 (UTC)[reply]

Well, this Intel page shows the i7-2600 I'm getting, four cores, but supports up to 32GB of RAM, which shoots down my 4GB/core observation. Bubba73 You talkin' to me? 02:51, 6 May 2011 (UTC)[reply]

Where can i find tutorials on how to create discussion forum with Amaya or Kompozer[edit]

Can anyone give me some links or tutorials on how to build forums with kompozer or Amaya, i want to start one right away. thank you —Preceding unsigned comment added by 64.183.42.24 (talk) 20:53, 5 May 2011 (UTC)[reply]

I'm afraid those applications will be of little help to you.
¦ Reisio (talk) 22:31, 5 May 2011 (UTC)[reply]

Shutting down...[edit]

Hello all. I recently got a new Win7 laptop and three times now, when I go to shut it down it says Shutting down... with the circle thing but then it doesn't shut down, it just says "Shutting down..." for hours (and each time I have had to do a hard shut down which is not good) I haven't installed any software except for the Updates recommended by Windows, and in fact it seems that every time this has happened first it says "Configuring updates" or something to that effect, but after it says it's done and now will shut down, it doesn't. 72.128.95.0 (talk) 21:06, 5 May 2011 (UTC)[reply]

I had the same problem. I disabled all automatic updates and it stopped happening, but obviously that's not a solution for everyone. 82.43.89.63 (talk) 22:08, 5 May 2011 (UTC)[reply]
You can try to go to event viewer and see if you can get any clues as to what might be freezing the machine, explaining how to do that is beyond the scope of a wiki post, but I'm sure if you google it you'll find a bunch of useful sites. Try to find the last events that occur before you force the hard shut down and it might give you a clue as to what's causing the problem. Vespine (talk) 23:46, 5 May 2011 (UTC)[reply]