Saturday, April 9, 2016

Digest for comp.programming.threads@googlegroups.com - 10 updates in 6 topics

bleachbot <bleachbot@httrack.com>: Apr 08 08:09PM +0200

bleachbot <bleachbot@httrack.com>: Apr 08 10:15PM +0200

bleachbot <bleachbot@httrack.com>: Apr 08 10:40PM +0200

bleachbot <bleachbot@httrack.com>: Apr 08 11:34PM +0200

bleachbot <bleachbot@httrack.com>: Apr 08 11:37PM +0200

Ramine <ramine@1.1>: Apr 08 05:39PM -0700

Hello..........
 
 
You have seen me posting about my USL for Delphi and FreePascal,
and i want to make clear my explanation..
 
If you download this free ebook and read it, here it is:
 
https://www.vividcortex.com/resources/universal-scalability-law/
 
You will notice that he is calculating mathematically the response
time of a database system of a type of transactions that is the "Read"
transactions and he is modeling and predicting the Scalability with
Universal scalability Law (USL), but i don't think that his way is a
better way to look at those database systems, because when
you put and expose the database system to internet and to database
queries from internet and the web , the inter-arrivals distribution of
the transactions will be Markovian and the service time of the database
system will be hyper-exponential, and this will complexify the
modeling of the overall system including the database system,
so what is then the solution ? i have given you a solution
that contains an approximation of an the hyper-exponential
service of he database system with an M/M/c queue using
queuing mathematical theory when the the load of the database system
is read-mostly , the approximation works when the "delete"
and "write" database transactions are less or equal to 30% of the
overall transactions , but this is not the end of the story ,
you have also to control the waiting time of the internet
users programmaticly to be able to limit the waiting time
of the users for a better QoS, and i have spook about that on
my previous posts, so my USL programs permit us to predict
scalability and to optimize the criterion of the cost for a
better QoS and my previous modeling of an Ecommerce that i have
showed you before using queuing theory and my suggestions about
how to control and limit the waiting-time of the internet
users is a good way to follow.
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Apr 08 05:36PM -0700

Hello,
 
 
You have seen me posting about my USL for Delphi and FreePascal,
and i want to make clear my explanation..
 
If you download this free ebook and read it, here it is:
 
https://www.vividcortex.com/resources/universal-scalability-law/
 
You will notice that he is calculating mathematically the response
time of a database system of a type of transactions that is the "Read"
transactions and he is modeling and predicting the Scalability with
Universal scalability Law (USL), but i don't think that his way is a
better way to look at those database systems, because when
you put and expose the database system to internet and to database
queries from internet and the web , the inter-arrivals distribution of
the transactions will be Markovian and the service time of the database
system will be hyper-exponential, and this will complexify the
modeling of the overall system including the database system,
so what is then the solution ? i have given you a solution
that contains an approximation of an the hyper-exponential
service of he database system with an M/M/c queue using
queuing mathematical theory when the the load of the database system
is read-mostly , the approximation works when the "delete"
and "write" database transactions are less or equal to 30% of the
overall transactions , but this is not the end of the story ,
you have also to control the waiting time of the internet
users programmaticly to be able to limit the waiting time
of the users for a better QoS, and i have spook about that on
my previous posts, so my USL programs permit us to predict
scalabilityand to optimize the criterion of the cost for a
better QoS and my previous modeling of an Ecommerce that i have
showed you before using queuing theory and my suggestions about
how to control and limit the waiting-time of the internet
users is a good way to follow.
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Apr 08 04:42PM -0700

Hello,
 
 
Here is an important and free book about Universal Scalability Law
(USL), read it to understand more what USL is all about, you can
download it from this link:
 
https://www.vividcortex.com/resources/universal-scalability-law/
 
And you can download my Universal Scalability Law (USL) for Delphi and
FreePascal version 2.62 from:
 
https://sites.google.com/site/aminer68/universal-scalability-law-for-delphi-and-freepascal
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Apr 08 04:16PM -0700

Hello....
 
I have corrected one last thing, and i have updated my Universal
Scalability Law for Delphi and FreePascal to version 2.62..
 
Hope that you will be happy with version 2.62 because i have tested it
thoroughly and i think it is stable now.
 
You can download version 2.62 from:
 
https://sites.google.com/site/aminer68/universal-scalability-law-for-delphi-and-freepascal
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Apr 08 02:11PM -0700

Hello,
 
 
Universal Scalability Law for Delphi and FreePascal was updated
to version 2.6, i have cleaned more the code, and i have made
my programs more robust, please use my new version 2.6 because
it is better , and i think you can be confident because
i think it's stable now.
 
 
You can download the new version 2.6 from:
 
https://sites.google.com/site/aminer68/universal-scalability-law-for-delphi-and-freepascal
 
 
Author: Amine Moulay Ramdane.
 
Email: aminer@videotron.ca
 
 
Description:
 
This program analyzes system performance data with the Universal
Scalability Law, and it compiles with Delphi XE versions and
FreePascal.
 
You have to supply the performance data as a csv file format,
please take a look at the supplied csv file called "data.csv",
the first line of the names of the colomuns of the csv file must
be commented by "#" character, the names of the columns are
mandatory.
 
Just compile the usl.pas program and run it by executing it
on the command prompt like this: usl data.csv
 
The Universal Scalability Law (USL) was developed by Dr. Neil J.
Gunther. It can be used to analyze system performance data in order to
learn more about the scalability limitations of the system.
 
Details are presented in the book *Guerrilla Capacity Planning*.
 
Authors of Universal Scalability Law website:
 
http://www.perfdynamics.com/
 
Please take a look at the source code in the zip file:
 
When you compile the usl.pas , please type this at
the command prompt:
 
usl data.csv
 
Here is the output of my program:
 
Peak number is: 449.188
Predicted scalability peak is: 18.434
Coefficient of determination R-squared is: 0.995
 
The peak number is the peak number of cores (look inside the csv file)
that will give the Predicted scalability peak that is: 18.434X
 
I have included also usl_graph.exe and its source code,
us_graph.exe will draw a graph of the predicted scalability
of the USL law, please type at the commmand prompt:
 
usl_graph data.csv -g 5 449
 
You have to give two parameters to the -g option, this will draw a graph
with a step=d(x)=5 between two successive data points , and it will draw
a graph up to the peak number that is x=449
 
You can save after that your graph to the clipboard and open the
paint program on windows and save it after that.
 
I have used a polynomial regression and i have done other approximations
to find the predicted scalability peak when the derivative must equal an
approximation of 0 and this when the USL coefficient beta equal 0. This
is all about mathematics.
 
You have two options:
 
You can type at the command prompt: usl data.csv -p 20
 
the -p option will give you the scalability for the data point 20
 
and you can type at the command prompt: usl data.csv -d 0.2 10
 
the -d option will give you the derivative of the USL equation at
delta(y)/delta(x)=0.2 (it must be between 0 and 1) with a step
delta(x)=10 that will output a good approximation of a number and a
derivative to better optimize the criterion of the cost for a
better QoS.
 
I will a little bit explain my USL program...
 
If you have took a look at this link:
 
https://cran.r-project.org/web/packages/usl/vignettes/usl.pdf
 
You will notice that the performance data for the raytracer in the
link above is the same as the performance data inside the data.csv
file inside my zip file of my USL software..
 
And as you have noticed in the link above the peak scalability
number is at: 449 processors.
 
So if you run my program against this same performance data
like this at the command prompt:
 
usl data.csv
 
So the output is of my program is:
 
--
Peak number is: 449.188
Predicted scalability peak is: 18.434
Coefficient of determination R-squared is: 0.995
--
 
So as you have noticed that the peak number that
is the peak number of processors is: 449.188
this is the same result as the link above.
 
So my program is working correctly.
 
But this is not the end of the story..
 
You have to optimize the criterion of the cost for a better QoS,
and for this i have supplied you with a second option called -d that
you have to run for that, so you have to type at the command
prompt:
 
usl data.csv -d 0.3 0.1
 
 
the 0.3 is the slope of the secant with a step 0.1, so since the step
is 0.1 so this will approximate a derivative of the USL equation that
equal 0.3, so here is the output of my program when you run
it with -d 0.3 0.1:
 
--
Peak number is: 449.188
Predicted scalability peak is: 18.434
Coefficient of determination R-squared is: 0.995
The derivative of the USL equation at delta(y)/delta(x)=0.300 with a
step delta(x)=0.100, gives a number and derivative of a secant or a
derivative delta(y)/delta(x) of: 16.600 and 0.300
--
 
So as you have noticed that a good approximation for the
derivative of the USL equation will arrive at the 16.600 cores
and this gives also a derivative of the secant that approximate the
derivative of the USL equation.
 
So to optimize more the criterion of the cost for a better QoS,
you have to choose a good delta(y)/delta(x) to optimize the criterion
of the cost of your system and you have to balance better between
the performance and the cost.
 
I have tested more my USL for Delphi and FreePascal and it is working
perfectly. But to make it work best with multicores, you have to choose
the first column of the number of cores of the csv to: 1,2,4,8,
16 without going up to 32 and it will work ok, don't choose 1,2,3,4,5
because this will not be a good approximation and this will cause problems.
 
How can you be sure that my USL program for Delphi and FreePascal works
correctly ?
 
Please take a look at this link:
 
https://cran.r-project.org/web/packages/usl/vignettes/usl.pdf
 
Notice the raytracer performance data, when they have analysed it, it
gives a peak scalability at: 449
 
So try to run my program inside the zip against the the same raytracer
performance data that you will find inside the data.csv file inside the
zip, and this will give the same peak scalability at: 449.
 
So as you have noticed, my program is working for this performance data
of the raytracer, so i think that you can be confident with my program.
 
I have included a 32 bit windows executable called usl.exe inside the
zip, please read the readme file to know how to use it, it is a very
powerful tool.
 
- Platform: Win32 ,Win64,Linux,OSX
 
 
Thank you,
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com.

No comments: