optimal file allocation