Page 1 of 2

Computer I/O Considerations

Posted: Fri Aug 22, 2014 5:41 am
by davidrupert
The "Attention StudioOne Experts (and anyone else who knows)" thread in this forum got me started on this.
Hopefully there are a few tidbits in here somewhere that will be useful to somebody.

First some terminology, then some application.
Feel free to skip over the stuff you already know.

It's helpful to remember the difference between "storage" and "memory".
They're both measured in the same units (i.e. Bytes, Megabytes, Gigabytes, Terabytes, etc.), but that doesn't mean they're the same thing.

"Storage" equals "disk space" on most computers, and it can be inside your machine or in another device that is attached to it with some kind of cable or wireless connection.
"Storage" retains its data even when the computer is turned off.

"Cloud Storage" like DropBox, Google Drive, etc. is accessed over the Internet and is limited by the speed of your Internet connection.
Most Internet connections transfer data at only a fraction of the speed of a local storage device.
That means Cloud storage is useful for archives, backups and some types of database applications, but it's not fast enough to handle lots of dynamic data going back and forth.

"Memory" (i.e. RAM) only works while the computer is powered up, but it's MUCH faster than accessing data from any kind of storage.
Unfortunately, everything in RAM disappears when the machine is rebooted or turned off.

In order to run any program, some or all of it has to be read from storage and loaded into RAM.
Studio One, VST's and other plug-ins all work that way.

Any user data (song files, audio files, etc.) that have to be actively processed by a running program also have to be in RAM; the computer's brain can't manipulate anything unless it's first brought into memory.

The computer's operating system (Windows, IOS, Linux, etc.) is almost always responsible for physically moving the data around when any application program like a word processor or a DAW requests it.
This includes both local and networked data.
If the amount of required data won't all fit into the available RAM, the computer's operating system helps with very quickly loading it and unloading it in chunks, as needed to satisfy the application's needs.
Sometimes these data swaps between storage and RAM have to happen thousands of times per minute (or more).

Think of a computer as your office, with a filing cabinet and a desk in it.
You are a computer program.
"Storage" is the filing cabinet full of documents.
When you want to use a document, you have to pull it out of the cabinet and lay it on the desk in front of you so you can read it or write on it.
The surface of the desk is the "RAM".
You might have to put the first document away in order to make room on the desk for the next one.
The operating system is a secretary who swaps documents between the file cabinet and the desk for you when needed, sometimes thousands of times a second (because you are a very demanding boss).
If this doesn't happen fast enough (perhaps because she has to take turns with another secretary trying to access the same filing cabinet, or you have to alternate with another boss trying to use the same desk) you get upset because it makes you wait and throws off your timing.

[This is obviously an incomplete analogy but it covers the basics. The Wachowski brothers obviously stole it from me when they wrote "The Matrix" series of movies.]

DAWs like Studio One have to move a lot of data around while they're working
At the same time they're very dependent on accurate timing, like music is.
Any delays in accessing their data can mess things up drastically.
They ALWAYS work better and more reliably when all the information they need is stored in a location that can be accessed quickly.
They simply cannot do their job if they don't get the needed chunks of data transferred from storage to RAM fast enough.

Different types of storage respond at different speeds:

- Some hard drives are faster than others, and "SSD" drives are hugely faster than mechanical ones.

- Transferring data to/from a USB drive is almost always slower than moving the same stuff to/from an internal hard drive.

- Moving data across a network connection is usually even slower; frequently it's a lot slower.
This is partly because when data is transferred across a network it has to be broken up into small pieces called "packets".
Each of these packets has a bunch of other stuff added to the beginning and end of it to tell the receiving computer how it needs to be reassembled at the other end.
The disassembly/reassembly process and the added data slow things down.

- If you access data across a network when it's on a USB drive connected to a different computer, it means you have two bottle-necks between your computer and the data it needs; potentially slower still.


Many programs only load part of themselves into RAM when they start up.
Other program components are loaded later when they're needed.
Sometimes that happens while the program and storage devices are already busy working hard at something.
[I don't know for sure if Studio One works that way, but I suspect it does.]
That's one reason a program can seem to load fine from relatively slow network storage initially, but then misbehave later under load.
By that time lots of things are using the computer's resources concurrently (possibly including the network storage location) so things can get pretty sluggish or even stall competely.

Fast storage means fast swaps, slow storage means slow swaps.
If they don't happen fast enough, programs run slowly, or get unreliable, or don't work at all.

Studio One requires good computer performance and fast data transfers.
Otherwise it can't keep up with everything it has to do, and you start to have audible problems

Because of all this, it's best to put the Studio One program, plug-ins and data each it its proper place, and do everything you can to optimize the performance and capacity of your computer.

1. Try to have at least 4GB of RAM on your computer.
If your computer is using a 32-bit OS it can't use more than 4GB of RAM under any circumstances.
If you have a machine with a 64-bit OS, try to get yourself to 8GB or 16GB.
More than 16GB probably won't really speed anything up.

2. Read and pay attention to the "Minimum Requirements" list for any program you want to install.
Understand that "Minimum" really does mean exactly that.
If your computer barely meets the minimum requirements, the program will probably load if it's the only thing your computer is doing, but it may bog down if you ask it to do anything very demanding or try to run multiple programs concurrently.
The minimum requirements for Studio One were obviously published before "Core Duo" CPU's became obsolete and newer processors became so inexpensive.
If you are in the market for a new computer, the mid-2014 CPU pricing "sweet spot" for running powerful DAWs is probably a 2.4GHz (or faster) Intel i5 or i7 processor with a 64-bit operating system and 8 to 16 GB of RAM.
Faster is better, but gets more expensive pretty quickly.
It's futile to try to run Studio One (or any other program) on a machine that's simply too weak to handle the demands of the job.
Don't try it unless you enjoy frustration.

3. The Studio One program, all VST's/plug-ins and the critical data required by them should always be installed onto your fastest internal hard drive if possible.
Try to avoid installing these on any kind external storage, especially a network-based storage device.
If you're using a desktop PC and don't have enough space on the system drive, you can upgrade to a bigger one or add a second internal hard drive (they're really cheap these days).
If you're on a machine that only supports one hard drive, try to make sure that disk is as fast as possible and has enough room for everything.

4. It will usually work fine to put your S1 data (Macros, Presets, Songs, Sound Sets and Templates) on external storage, then use the "Locations" Options in S1 to tell it where to find them.
It's still possible this might not work well if your external storage doesn't respond fast enough to keep up.
In that case you might be able to copy the active data from external storage to a folder on your internal drive while you're working on it, then put it back on the external drive when you're done.

5. When you're working on music, make sure you turn off all other programs you're not using to free up as much computer capacity as possible.
This is especially important if your computer spec's are close the program's "minimum requirements".

6. If you insist on trying use a network storage location for program installations or active data make sure it's a high-performance device and your network is fast and reliable.
Attempt to arrange things so you're the only user hitting it during the times you're working on music.
You MIGHT get adequate performance from it that way.
Be prepared for it to work poorly when under high load.

7. Be aware that wireless networks can cause lots of problems.
Because of the way wireless networking protocols work, the data stream can slow down and speed up arbitrarily.
The whole connection sometimes has to be renegotiated at unpredictable times.
When the signal is weak, the data rate slows down to compensate, and data packets sometimes have to be sent multiple times before they are received error-free.
These things obviously aren't good for any program attempting to send or receive a continuous stream of data.
If you have lots of problems with dropouts, excessive buffering delays or serious stalls, it might be a wireless network issue.
Move your wireless equipment closer to your wireless router, or try a cabled connection instead.

8. Troubleshooting - It helps to setup things to be as simple and direct as possible to start with, then if you want to change or add stuff, do it one thing at a time so you won't end up with multiple issues affecting or magnifying each other and making problem diagnosis more difficult.
Example: If your music stuff is dependent on a network in some way, use cabled network connections until you're sure it all works, then try switching to wireless if that's your goal.

Computers, storage devices and networks vary widely, so your mileage may vary.
It's possible somebody might get away with doing everything I recommend against, but I believe that will be a rare exception.

I'm attempting to share some useful knowledge with the Studio One community because I hate to see people going through the same struggles I did while I was learning all this stuff the hard way.
The ideas work for me, and are based on 43 years of using computers, 25 years as a professional computer consultant, 29 years using electronic musical instruments and music-related computer programs, and over 40 years as a semi-professional cellist.
No, that doesn't mean I'm 137 years old; I did most of them concurrently...
But yeah, I'm pretty old... Bragging? Maybe a little... Too wordy? Absolutely.
My apologies if this is too much, but I hope it helps somebody anyway.
Sometimes I get going and can't stop until I get it all out. ;-)

PS: Don't configure your network devices to use "Jumbo Frames" unless every device on your network supports them and are ALL configured to use them (especially the Ethernet Switch).
Otherwise, they probably won't actually be used anyway; they may even cause problems for some devices.
Implementing Jumbo Frames on a network usually doesn't speed up transfers that involve long sequences of small chunks of data, like the data-stream used by many DAW's.
They can sometimes help when very large data files need to be transferred across a network connection all at once, but even if they do work the improvement in throughput is frequently only a few percent.
The disadvantages usually outweigh the benefits, except in some limited applications.

PPS: "Network Overhead" significantly affects the speed of data transfers over Ethernet.
A "100 Mbps" (12.5 megabytes per second) network will usually max out at about 65 Mbps (8 megabytes per second) of actual throughput.
1 Gbps networks are not really 10 times as fast as 100 Mbps networks because of the way they use network cables and how the signaling has to be done.
They usually do about 540 Mbps (68 megabytes per second) under good conditions.
In the real world, local disk I/O is generally much faster.

PPS: Any spelling, punctuation or grammatical errors are completely my fault but I'm not going to edit this crazy post anymore. The run-on sentences and unnecessary verbosity are here because that's the way I really talk.

Re: Computer I/O Considerations

Posted: Fri Aug 22, 2014 8:10 am
by matthewgorman
Nice post. Thank you for taking the time.

Re: Computer I/O Considerations

Posted: Fri Aug 22, 2014 12:47 pm
by oldblood
Good sound (no pun intended) advice, Needs to be made a sticky.

Re: Computer I/O Considerations

Posted: Fri Aug 22, 2014 3:14 pm
by mwright137
Made a sticky in Studio One FAQ. Left a copy in General Discussion.

Re: Computer I/O Considerations

Posted: Fri Sep 12, 2014 5:28 am
by waynevandeklee
Good article. A few other things worth considering or looking into (based on my experience).

It's generally good practice to keep your session data (songs etc.) on an external disk, since this means the disk heads accessing your audio are different to those used by the operating system. This tends to be more important when you have a large number of tracks to play back.

Any external hard disk should generally be 7200 rpm and not 5400 rpm. Laptops and portable disks use 5400 rpm as a rule whereas desktops and proper back-up storage use 7200 rpm. If the disk does not say it's probably 5400. .As mentioned above, you want fast access.

Plug external disks and audio interfaces directly into your computer and not into a USB hub. As I understand it the performance of the hub reduces to that of the slowest device connected to it. I'm not certain on this but it would make sense to investigate further. For example, Fader Port is USB 1.0 and so I wouldn't want that plugged into the hub with my external disk. I might raise this in a separate post.

Re: Computer I/O Considerations

Posted: Sat Dec 20, 2014 2:58 pm
by youngtito
hi I bought this studio one artist 2 disk but I restored my computer and my computer will no longer read the disk anymore is there anyway I can get it off here to download on my computer?

Re: Computer I/O Considerations

Posted: Sat Dec 20, 2014 11:31 pm
by mwright137
Log in to your account at my.presonus.com and download the software. It's newer anyway.

Re: Computer I/O Considerations

Posted: Mon Jan 05, 2015 3:06 pm
by seanhogge
davidrupert wroteIf your computer is using a 32-bit OS it can't use more than 4GB of RAM under any circumstances.


This isn't true. It's not especially relevant, but if someone were to repeat this, they'll get a strange look from anyone who's used an Intel processor made after 1995.

Re: Computer I/O Considerations

Posted: Wed Jan 07, 2015 9:26 pm
by davidrupert
Please check your facts.
Even if you have a 64-bit CPU in your computer, a 32-bit version of Windows cannot address more than 4 GB of RAM regardless of how much you install in your machine.

If you want to actually use more than 4GB of RAM, you need to have a 64-bit operating system installed on your computer to go with the 64-bit processor.

Try it yourself: Put more than 4GB of RAM into any machine that's running a 32-bit version of Windows, then go to into the System control panel and look at the amount of usable RAM listed.
It will only show 4GB (or less, depending on how the video RAM is implemented on the machine).

Re: Computer I/O Considerations

Posted: Thu Jan 08, 2015 3:52 pm
by seanhogge
Please spend a few seconds with Google and the phrase "physical address extension."

Re: Computer I/O Considerations

Posted: Thu Jan 08, 2015 9:56 pm
by mwright137
Point proved. Please keep it civil, guys.

Re: Computer I/O Considerations

Posted: Fri Jan 09, 2015 3:47 am
by davidrupert
I don't feel offended, and certainly don't intend to give any offense.
Honest disagreements don't strike me as uncivil.

For any personal computer to support more than 4GB of RAM, Physical Address Extension (i.e. "PAE") functionality must be built into the hardware and must also be properly supported by the operating system.
Having PAE capabilities in your computer hardware does not automatically let you benefit from having more then 4GB of RAM.

Microsoft has chosen to limit all of the 32-bit single-user versions of Windows to utilizing 4GB (or less) of "managed" RAM, even if more could theoretically be supported by the hardware.
32-bit Windows itself will never make more that 4GB available for use by standard applications regardless of how much RAM is installed in the computer.
It's possible for some specially-written Windows application programs to use "unmanaged RAM" above the 4GB limit, but they are rare and do not include Studio One.

I stand corrected on some models of Mac's with Intel x86 processors running IOS 10.4.4 through 10.6.
A few of them supported more than 4GB of RAM in a 32-bit OS using PAE.
IOS 10.7 and above require 64-bit Intel processors.
10.7 included both 32-bit and 64-bit OS kernels.
IOS versions 10.8 and above are always 64-bit OS kernels.

Mac hardware support for > 4GB RAM:
MacBook - Some models
MacBook Pro - Some models
MacBook Air - Some models
iBook - No
Powerbook G3 - No
Powerbook G4 - No
iMac - Some models
Mac Mini - Some models
eMac - No
Mac Pro - Yes
Power Mac G3 - No
Mac Server G3 - No
Power Mac G4 400 - No
Power Mac G4 - No
Mac Server G4 - No
Power Mac G5 - Some models
Xserve G4 - No
XServer G5 - Yes

Even when a 32-bit OS version does support more than 4GB of RAM it does so with some software tricks that have a performance penalty.
Things perform best when a true 64-bit operating system is in use with large amounts of RAM.

If you're in the market for a computer to run Studio One, you should get one with a 64-bit Intel processor and a 64-bit operating system, regardless of whether it's a Mac or Windows machine..

I hope this clarifies things satisfactorily.

Re: Computer I/O Considerations

Posted: Mon Dec 07, 2015 1:35 pm
by Sax Therapist
Thank you, answered a lot of questions.

Re: Computer I/O Considerations

Posted: Wed Dec 09, 2015 1:04 pm
by chancieg
davidrupert wroteThink of a computer as your office, with a filing cabinet and a desk in it.
You are a computer program.
"Storage" is the filing cabinet full of documents.
When you want to use a document, you have to pull it out of the cabinet and lay it on the desk in front of you so you can read it or write on it.
The surface of the desk is the "RAM".
You might have to put the first document away in order to make room on the desk for the next one.

The operating system is a secretary who swaps documents between the file cabinet and the desk for you when needed, sometimes thousands of times a second (because you are a very demanding boss).
If this doesn't happen fast enough (perhaps because she has to take turns with another secretary trying to access the same filing cabinet, or you have to alternate with another boss trying to use the same desk) you get upset because it makes you wait and throws off your timing.


I like this analogy. So following on from it, the amount of RAM you have would equate to the amount of surface area of your desk i.e. the more free space you have on your desk, the less the secretary has to return data to the filing cabinet in order to make room, and thus, the faster and more efficiently the process will run?

Re: Computer I/O Considerations

Posted: Sun Dec 13, 2015 11:45 pm
by davidrupert
Yes, that's how it works in princple, but there are other factors that affect performance just as much as RAM.

To stretch the analogy properly you have to account for the fact that the speeds of the boss and the secretary are limited.
Also, the filing cabinet itself might have heavy drawers that move slowly, or maybe it only allows one drawer to be open at any given time, or the folders of information it contains might have an individual size limit (you get the idea...)

The boss, secretary and filing cabinet might be slow for a number of reasons.
Giving them a bigger desk might not help.

In other words, the speed and type of CPU in your computer, the type of storage (conventional hard-disk or SSD) and the internal data-handling capabilities of the programs you are using must be able to benefit from the amount of RAM they have to work with.

For maximum performance your computer must have "enough" RAM, but it doesn't really help to have more than that because it won't really be used effectively anyway.
It's quite common for things other than RAM to be the true bottleneck.

In the real world, you probably would NOT get noticeably better performance from your DAW with 64GB of RAM than you would get with 16GB on today's personal computers.
Many (possibly most) personal-use computer programs are not currently written and compiled in a way that would cause them to use that much RAM, even if it's available.

As recommended earlier in this thread, If you have a 32-bit operating system make sure you have 4GB of RAM.
If you have a 64-bit operating system, get to at least 8GB, preferably 16GB if possible.
More than that would probably be a waste of money for most people.

At present (December 2015), I still think a reasonably fast i7 CPU (an i5 would probably be adequate) with 16GB of RAM (8GB would be tolerable), a 64-bit operating system and SSD storage is the "sweet spot" when it comes to cost-effectiveness in a DAW computer.

Most casual Studio One users could actually get by with much less than that, but serious or adventurous users need some growing room.
For them, a computer with these spec's should be able handle just about any properly organized Studio One project.

What constitutes a "properly organized" project, and techniques for optimizing the use of plug-ins, etc. in Studio One are covered elsewhere ;-)

Re: Computer I/O Considerations

Posted: Thu Apr 21, 2016 9:52 pm
by Revengineer
epic.

Dude, that was epic, in the largest sense of the word.

Re: Computer I/O Considerations

Posted: Sun Jun 05, 2016 1:16 pm
by stevepurcell
Thanks David,

I too am no youngster, been using computers for decades, have accumulated enough knowledge in a vast array of applications to function effectively, if not very efficiently. I'm going to keep this essay close at hand. What a great reminder to stop now and then, take a deep breath, and remember the basics.

All the Best,
Steve

Re: Computer I/O Considerations

Posted: Tue Jul 19, 2016 1:26 pm
by frank.crow
Wow great stuff guys, really got me thinking about my set up. I'm running a Mac mini with OS Yosemite 10.10

I have the i5 (missed the boat on the i7) with 16GB of RAM. How would I find out if I'm running 32 or 64?

Is this something I even have control over or is it handled by my computer by default. I ask because for a season I was having major CPU issues but it's pretty fantastic right now (Praise God!). I know there are many possibilities as to what might've changed but I'd like to narrow it down so I don't break it.

Re: Computer I/O Considerations

Posted: Wed Jul 20, 2016 1:43 am
by davidrupert
Frank,

IOS 10.10 is a 64-bit "kernel" and the i5 is 64-bit CPU.
These things are baked in and cannot be modified by the user.

A stock Mac Mini from late 2012 would have a dual-core i5 and a 500GB 5400 rpm conventional hard disk for storage.
They were designed for affordability rather than performance.
By today's standards having only two cores can be pretty limiting, and a 5400 rpm drive is relatively slow.
Your 16GB of RAM should help compensate for these things to some extent.

That said, your Mini should work well if you don't ask it to do too much all at once.
It should be fine with simple Studio One projects, but a complex project could potentially bog it down to the point where you start getting serious audio issues.
If you experiment with your particular setup you can find its limits and figure out ways to operate within them.

It sounds like you're satisfied with the results you're getting at the moment, but if that changes, the only way to improve the performance of your Mac Mini would be to replace the mechanical hard drive with an SSD.
Kits are available for doing that, but migrating all your data from the old drive to the new SSD can be a hassle.
If you're not familiar with the process you might need a professional to take care of it.

Even with an SSD for storage, a dual-core CPU can be overloaded pretty quickly by most modern DAW programs.
That means it actually wouldn't be very cost-effective to upgrade a 2012 Mac Mini.
You would probably be better off putting the money toward a stronger computer if you get to the point where you're exceeding the capabilities of your Mini on a regular basis.

I hope this answers most of your questions.
Good luck with your audio endeavors!

Re: Computer I/O Considerations

Posted: Wed Jul 20, 2016 7:58 am
by matthewgorman
Good stuff guys. Frank, you can also verify if you are running S1 as 64 bit. There is only one installer for both versions on a mac. You need to go into app info, and make sure "run as 32 bit" is unchecked. Disregard if you were already aware of that.