Hi,
I am trying to figure out how to create a specification for a PC which will be able to run my application, but not be way over the necessary price point and capability for the PC. First, I am not a software engineer, but I did stay at a holiday inn last night, so I think I can do this! I've done some searching on the web and haven't come across the answer. We may hire an SE to rewrite the effort, but I still want to have an idea what the SE is talking about.
As an illustration, the basic requirements I have are it controls a data acquisition card (DAQ), generates signals with the DAQ, digitizes signals with the DAQ, sends out digital control signals with the DAQ, it monitors a temperature logger, does various FFTs and displays plots and saves data. Right now the code is all proofed up with Matlab m code since that is what I've used the most. During the proofing I ran into problems with the system not being able to create plots and generate the signals. Some how the system would starve the DAQ signal output (buffer of the samples) after running for a period of time and the signal output would shut down. At first it was a problem with the National instruments DAQ driver, which they fixed. Then it would still exhibit the same problem, but now it would just eventually starve the signal buffer. Through a lot of work, I went to another method of creating plots with matlab instead of just using the plot command and was able to keep the system running. I also had access to a big GPU card which allowed even more expansion. I still have not been able to pin-point exactly what limit I'm running into, memory, CPU, bus bandwidth or what the problem is exactly.
Most of the above is an illustration of how I've run into problems. I'm sure this is not an simple question to answer, but how does a real software engineer decide that XX level PC has enough memory-CPU-graphics to handle the application they're writing and then write a specification/requirement for it? How do I decide that I need an I3 or I5 processor type of calculation? Does anyone have a reference they can point me to? Are there tools expansive enough to be able to monitor the system I am using now to decide that am up against some limit it has?
thanks
I am trying to figure out how to create a specification for a PC which will be able to run my application, but not be way over the necessary price point and capability for the PC. First, I am not a software engineer, but I did stay at a holiday inn last night, so I think I can do this! I've done some searching on the web and haven't come across the answer. We may hire an SE to rewrite the effort, but I still want to have an idea what the SE is talking about.
As an illustration, the basic requirements I have are it controls a data acquisition card (DAQ), generates signals with the DAQ, digitizes signals with the DAQ, sends out digital control signals with the DAQ, it monitors a temperature logger, does various FFTs and displays plots and saves data. Right now the code is all proofed up with Matlab m code since that is what I've used the most. During the proofing I ran into problems with the system not being able to create plots and generate the signals. Some how the system would starve the DAQ signal output (buffer of the samples) after running for a period of time and the signal output would shut down. At first it was a problem with the National instruments DAQ driver, which they fixed. Then it would still exhibit the same problem, but now it would just eventually starve the signal buffer. Through a lot of work, I went to another method of creating plots with matlab instead of just using the plot command and was able to keep the system running. I also had access to a big GPU card which allowed even more expansion. I still have not been able to pin-point exactly what limit I'm running into, memory, CPU, bus bandwidth or what the problem is exactly.
Most of the above is an illustration of how I've run into problems. I'm sure this is not an simple question to answer, but how does a real software engineer decide that XX level PC has enough memory-CPU-graphics to handle the application they're writing and then write a specification/requirement for it? How do I decide that I need an I3 or I5 processor type of calculation? Does anyone have a reference they can point me to? Are there tools expansive enough to be able to monitor the system I am using now to decide that am up against some limit it has?
thanks