|
Kiran Satish wrote: I have a pretty much brand new system with 16GB DDR4 memory on which I have Win
7 32bit OS. That almost equals my setup, but with DDR3 and a laptop CPU
Kiran Satish wrote: I made a RAMDisk (using Dataram RAMDisk) of 8GB on which I keep windows paging
file. Ehr.. aight, we have a paging file because PC's have a limited amount of memory, and lots of harddisk space. The only reason to put something in "virtual memory" is because it is too expensive to put it in real memory (aka, hardware RAM).
Putting the page-file on a RAM-disk defeats the purpose of having a page-file. I also have an SSD, and did not believe there should be a page-file with 16Gb worth o' memory. I have had recommendations here to do otherwise and am happy to have followed the advice.
Kiran Satish wrote: Any ideas? Having created my own ram-disk[^], I would say that performance is limited in a number of ways. One of those is the limitation of the speed of your memory; virtual memory is slower than blocks of data pinned into physical memory. Did that make my RAM-disk faster? No, it is limited by the driver itself, bottlenecking at 48 Mb/s, which is actually rather impressive.
Works nice if the RAM-disk leaves at least 6 Gb of free working memory; it is fast in terms of access, making up for the lack in terms of transfer, and thus doing nice when manipulating lots of small files. Like compiling and building a project
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
it's probably a stupid question but when packets are sent to a router that is for example at 192.168.1.1 on the LAN with a destination 192.168.1.4
the router searches a lookup table for the MAC associated with 192.168.1.4 and sends the frame just there and doesnt forward it to all connected devices
so does that count as a switch ?
|
|
|
|
|
well it wouldn't be the router searching the ARP table. The sending client would do the lookup in its own ARP table. If it didn't have an address for x.x.1.4, it would do an ARP broadcast to get it.
I don't think the router has a role in this situation. Why? because if the default route is 192.168.1.1 then it is probably already on that subnet. The client is going to realize the destination is on the same subnet using the subnet mask.
If the router had an integrated switch, the switch would be involved in forwarding the frame. Anyways my $0.02
|
|
|
|
|
no I'm not talking about lan communication
suppose you send a packet to codeproject from your pc.
its trip will be (with all address change of course) 192.168.1.4->192.168.1.1(def.gate.)->10 more machines->codeproject
say your external ip is 100.100.100.100
when its reply gets at 100.100.100.100 your router is in charge of sending it to x.x.x.4...I'm talking about this bit
|
|
|
|
|
My knowledge is a bit rusty, but routing and switching occur at different protocol levels. Routing is on the network layer (like IP) and switching on the link layer (e.g.: Ethernet)
I guess you are talking about a router with multiple LAN ports. I don't think there are any more unmanaged switches around, where packets are unconditionally sent out on all ports; the switch knows what devices are on which port, and will only transmit on the appropriate one (it will have to use address resolution if it doesn't know the MAC address, but this only happens once, or when the device is moved to another port)
If the destination IP address is not on the local network, the router will naturally forward it to the WAN side.
And it is not a stupid question
|
|
|
|
|
I guess you are right. A Router must be a Switch with ARP lookup logic to determine which port to switch to.
|
|
|
|
|
Hi All,
I am setting up tablet for our customer.
It has 3 network interfaces: WiFi, LET/4G/Phone network and a slow but (allegedly) reliable IP radio network.
I want to make sure the Radio network is ONLY used by my application (and NO OTher App use it for "internet" acceess)
I try to call (as admin) the ROUTE (DOS) command with ROUTE DELETE AND ROUTE ADD.
route DELETE 0.0.0.0 192.168.128.1
route ADD 10.104.8.22 192.168.128.1 metric 9999
route ADD 164.112.43.3 192.168.128.1 metric 9999
However, this radio is a USB (external) radio, and everytime it got disconnected / reconnected my radio setting is gone!
How could I make sure the settings sticks?!
|
|
|
|
|
no worries, our customer's sys admin told me!!! -p settings!
as in
route DELETE 0.0.0.0 192.168.128.1 -p
route ADD 10.104.8.22 192.168.128.1 metric 9999 -p
route ADD 164.112.43.3 192.168.128.1 metric 9999 -p
|
|
|
|
|
beat me to it by 43 mins
|
|
|
|
|
Good try!
|
|
|
|
|
In fact I still have a problem...
The ROUTE ADD is persistent!
But ROUTE DELETE is not, every time I reconnect my Internet USB IP Radio (Motorola APX Series) The Gateways is added back !
Any idea?
|
|
|
|
|
well, you only need the '-p' option on the ROUTE ADD lines
as for the delete one 'coming back' .... hmmm - what happens if you do
ROUTE -f
which flushes the routing cache
|
|
|
|
|
It doesn't fixes it...
I suspect what happen is something done by the Motorola USB Radio driver....
Any idea what kind of system (Win32!) call I should do to watch and update the route table?!
|
|
|
|
|
NotifyRouteChange[^]
And
NotifyRouteChange2[^]
Are what you are looking for.
A quick Google found them (Search String: win32 routing table update event)
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Woa, thanks man, this is very promising!
|
|
|
|
|
Our project seems to be heading in the need of having a small computer to mediate between the UI control/data presentation Windows PC (workstation) and an OEM vendor's device.
The system must support at least 1 USB 2.0 interface (to the device) and some other interface (>= 100BaseT ?) to the workstation. The vendor provides an x86 DLL to encapsulate communication with their device so this will need to run 32-bit Windows Embedded Compact (for the real-time capability as well).
Smaller physical size is better, as is lower cost.
Does anyone have any experiences and/or recommendations (and/or who/what to avoid!) they're willing to share about such systems?
Thanks
Matt
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
Why cant the vendors device connect straight to the PC?
|
|
|
|
|
We've done some experiments and the PC just will not have the real-time responsiveness to keep up with the required data rate (i.e., keeping the USB data stream "drained" so its buffer is available for the next data acquisition). The intermediate Windows CE will be to keep up with the USB in real-time and serve as a bigger buffer than the device has on its own.
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
Right, so the device is USB, what's the problem sucking data out of it? What sort of driver is it using on windows?
What was the experiment setup?
I have windows drivers for USB devices that will take data off the device faster than the device bus speed. So we are talking mbps for HS devices. (Actually, USB is rather slow really).
|
|
|
|
|
The device vendor provides both a driver and an API dll (both 32 bit) to talk to the device.
The device uses USB bulk endpoints.
The data is guaranteed to be available to the host, however, if the host gets behind, then the device will skip performing the next data acquisition
The amount of data is actually pretty small, it is the latency that is the bigger issue.
Each device acquisition is a little less than 40kB, at 15Hz rate: ~610kB/sec data rate.
However, the effective acquisition rate is twice that since the device will not start an acquisition until all of the previous acquisition data has been read. The device takes approximately 30ms to readout an acquisition. And 30ms is about the shortest acceptable data acquisition "exposure time".
The experiment I ran was using c# software I wrote to retrieve data from the device using an API function which spins up a separate thread to pull the data into a managed buffer. The application has a separate thread which pulls the data from the buffer and "drops it on the floor". (This is a best case: minimal application computation, though not realistic. Actual application includes significant computation.)
The device has a status line indicating if it is ready for an external trigger to begin an acquisition. We have an STmicro eval board running simple SW to provide triggering at a specified interval and a counter of occurrences of status not ready when a trigger was scheduled.
I specified an exposure time of 1ms since the exposure time is not concurrent with the data transfer.
On an i5 Quad core Windows 7 PC, triggering at 40ms is required to ensure no "not ready" conditions were detected. If I added writing the acquired data to a local file, then there were many "not ready" detections. The actual application has significant additional computation required.
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
SO on WIndows you cant get enough reads down to their dll/driver to get data off the device quick enough, but on winCE you can?
I would approach them and ask why this is. SOunds like their API-dll/driver isn't working properly. If they sell windows SW to go with the device, it HAS to be able to work properly.
|
|
|
|
|
The recommendation to use Windows CE came from the device vendor.
The "real time capabilities" of Windows CE, and the ability to strip it of anything else that could interfere with servicing the USB device are the basis of their recommendation.
The Windows CE system would mediate all communications with the device (only data collection operates in a time sensitive mode).
Communication with the host necessarily would be at a lower priority than servicing the USB.
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
What? They must be incapable of writing a usable windows driver then and their suggestion is a kludge.
I repeat, kernel code is perfectly capable of pulling data off a USB device. It can handle data way way quicker than a USB device can produce it. All they need to do id provide a half decent driver and you wont have to buy extra hardware.
|
|
|
|
|
Can someone point me to a useful understandable tutorial on how to read the specs on notebook computers ?
I do not understand why desktop computers have specs written in a way that is clear and obvious, while notebook computers do not.
|
|
|
|
|
C-P-User-3 wrote: how to read the specs on notebook computers What exactly do you mean by "how"? Look at the detail in their published documentation.
|
|
|
|