Logics behind file rearrangement for app start time improvement.

Hi everyone!
As far as I understood on WinXP+ Microsoft has implemented a monitor that
watches application startup, registers files that are involved in that
process and then rearranges them on disk (defrags, put them close to each
other, etc.) in order to improve time of subsequent application starts. Is
there a doc describing the logics behind this? How can I make my database
file associated with an application (within my system) being part of that
process?

TIA,

Vladimir

Vladimir,

You shouldn’t have to do anything. The system monitors the files that
are accessed at boot time and automatically calculates how those files
should be organized. If your database is accessed as part of the reboot
process, over multiple reboots the system will see the new pattern of
files and then update things appropriately.

Neal Christiansen
Microsoft File System Filter Group

This posting is provided “AS IS” with no warranties, and confers no
rights.

-----Original Message-----
From: xxxxx@Starbase.com
[mailto:xxxxx@Starbase.com]
Sent: Tuesday, December 10, 2002 10:53 AM
To: File Systems Developers
Subject: [ntfsd] Logics behind file rearrangement for app start time
improvement.

Hi everyone!
As far as I understood on WinXP+ Microsoft has implemented a monitor
that
watches application startup, registers files that are involved in that
process and then rearranges them on disk (defrags, put them close to
each
other, etc.) in order to improve time of subsequent application starts.
Is
there a doc describing the logics behind this? How can I make my
database
file associated with an application (within my system) being part of
that
process?

TIA,

Vladimir


You are currently subscribed to ntfsd as: xxxxx@Windows.Microsoft.com
To unsubscribe send a blank email to %%email.unsub%%

Neal:
Thanks a lot! But my understanding was that this rearrangement process is
not only part of the boot process but also AFTER boot application
launching. Am I wrong? At least what I see in filemon trace is access to
Windows\Prefetch folder every time I start an app.

Best regards,

Vladimir

> Hi everyone!

As far as I understood on WinXP+ Microsoft has implemented a monitor
that
watches application startup, registers files that are involved in
that
process and then rearranges them on disk (defrags, put them close to
each
other, etc.) in order to improve time of subsequent application
starts. Is

Search MSDN for “prefetch”, I saw something on this subject there. You
can also start your search from “What is new in XP” topic.

Max

Vladimir,

You are correct; it can do both boot time and application start
optimizations. This is something that is done automatically by the
system.

The following article talks about a registry setting you can use to
control what the prefetcher monitors:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/appendi
x/hh/appendix/enhancements5_3oc3.asp

Here are some other articles I found on this subject:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodt
echnol/winxppro/reskit/prkd_tro_uutk.asp

http://www.extremetech.com/article2/0,3973,10913,00.asp

Neal Christiansen
Microsoft File System Filter Group

This posting is provided “AS IS” with no warranties, and confers no
rights.

-----Original Message-----
From: xxxxx@Starbase.com
[mailto:xxxxx@Starbase.com]
Sent: Tuesday, December 10, 2002 1:22 PM
To: File Systems Developers

Neal:
Thanks a lot! But my understanding was that this rearrangement process
is
not only part of the boot process but also AFTER boot application
launching. Am I wrong? At least what I see in filemon trace is access to
Windows\Prefetch folder every time I start an app.

Best regards,

Vladimir


You are currently subscribed to ntfsd as: xxxxx@Windows.Microsoft.com
To unsubscribe send a blank email to %%email.unsub%%

Neal:

Thanks again!
I need some more technical info on that. Here is what I do.
In my driver I set up a callback using PsSetLoadImageNotifyRoutine.
When the callback is called I’m loading some data associated with the
file from which the process is creating. The data is stored in a single
and quite large (4-10M) file that may be or may be not located on the same
disk drive where the app is located. And here is the first Q. Is the
process
considered as “running” by the monitoring system at the point where my
callback
is called? In other words, will be the access to my file detected as “part
of scenario”? If the answer is “no” will it change anything if I do the
loading at PsSetCreateProcessNotifyRoutine callback?
Another Q is that I’m loading my file from the KM using Zw routines.
Will the monitoring system ignore my file because of that? The problem is
that I don’t see my file relocated/defragmented which is (what I
understood) standard part of the launch time improvement process.

Best regards,

Vladimir

Vladimir,

You are correct; it can do both boot time and application start
optimizations. This is something that is done automatically by the
system.

The following article talks about a registry setting you can use to
control what the prefetcher monitors:
http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/append=
i
x/hh/appendix/enhancements5_3oc3.asp

Here are some other articles I found on this subject:
http://www.microsoft.com/technet/treeview/default.asp?url=3D/technet/prod=
t
echnol/winxppro/reskit/prkd_tro_uutk.asp

http://www.extremetech.com/article2/0,3973,10913,00.asp

Neal Christiansen
Microsoft File System Filter Group

This posting is provided “AS IS” with no warranties, and confers no
rights.

-----Original Message-----
From: xxxxx@Starbase.com
[mailto:xxxxx@Starbase.com]=20
Sent: Tuesday, December 10, 2002 1:22 PM
To: File Systems Developers

Neal:
Thanks a lot! But my understanding was that this rearrangement process
is
not only part of the boot process but also AFTER boot application
launching. Am I wrong? At least what I see in filemon trace is access to
Windows\Prefetch folder every time I start an app.

Best regards,

Vladimir


You are currently subscribed to ntfsd as: xxxxx@Windows.Microsoft.com
To unsubscribe send a blank email to %%email.unsub%%