Popular Post

Wednesday, April 2, 2014

Here is one good reason I decided to move back to Capital One

Actually it is a few reasons well expressed in the following Informationweek article:

Capital One IT Overhaul Powers Digital Strategy:

"If digital is so central to our strategy, we really need an IT organization that is able to deliver like a technology company and not like a traditional bank"

"The company wants to compete with technology companies like Google and Microsoft for top development, engineering, and infrastructure talent"


"... it's thought of as a primo place to do software development. It acquired several banking tech startups in part to get the development talent it needs."

"Capital One is in the midst of moving from 70% to 75% outsourced IT to 70% to 75% in-house."




Monday, March 31, 2014

Southern Computer Measurement Group Spring 2014 meetings


Richmond - April 17, 2014 


Agenda:
TimeSessionPresenter
 8:00-9:00
Registration, Continental Breakfast and Sponsor Presentation 
 9:00-10:00
Memory CachesClaire Cates
 10:00-11:00
High Performance Computing SystemsJames McGalliard
 11:00-12:00
ePrivacy Issues and their Potential Effect on Online Data CollectionAnna Long
 12:00-1:00
Lunch and Sponsor Presentation 
 1:00-2:00
z/OS Performance "HOT" TopicsKathy Walsh
 2:00-3:00
DB2 v11 PerformanceJohn Iczkovits
 3:00-4:00
Database PerformancePeter Zaitsev
 4:00-5:00
Open Discussion - Future Meeting ContentBryan Drake

 Register here

Raleigh - April 11, 2014

Agenda:
TimeSessionPresenter
 8:00-8:30
Registration, Continental Breakfast and Sponsor Presentation 
 8:30-9:30
Memory CachesClaire Cates
 9:30-10:30
High Performance Computing SystemsJames McGalliard
 10:30-11:30
Data Center Capacity PlanningChris Molloy
 11:30-12:30
Effective Reporting – Making Sure You Tell the StoryJim Horne
 12:30-1:30
Lunch and Sponsor Presentation 
 1:30-2:30
z/OS Performance "HOT" TopicsKathy Walsh
 2:30-3:30
Performance and Capacity in the Broader Context of Non-Functional RequirementsAnn Dowling
 3:30-4:30
DB2 v11 PerformanceMark Rader
 4:30-5:00
Open Discussion - Future Meeting ContentBryan Drake
Register here
 

Wednesday, March 19, 2014

USA is not in "blue" zone...

Thursday, February 13, 2014

Tree-map / Heat-chart / Tile chart is good for the data analysis visualization/dash-boarding

Any good reporting should be fully automated and web based with no more then 2-3 levels of drill-downs and the highest level should be a color-coded dashboard. So what is the best mean for color-coded dashboard? Nowadays the tile (heat) chart is getting more and more popular for that purpose!

A bit history:

•        The  original source of the tree-map idea: Treemaps for space-constrained visualization of hierarchies by Ben Shneiderman
•         CMG papers about tree-mapping of capacity usage metrics: 

CMG 2004: Seeing the Forest AND the Trees: Capacity Planning for a Large Number of Servers.


The following two examples from the paper:

CMG 2003: Disk Subsystem Capacity Management, Based on Business Drivers, I/O Performance Metrics and MASF         


CMG 2006: System Management by Exception, Part 6

The following  two examples from the papers: (at the left is the SEDS based report):

Possibly with some influence from the above mentioned papers that type of dash-boarding was adopted by several tools including SAS:

















 

So since SAS 9.3 it is ease to build an interactive tile chart with drill-downs and even with a context “right click” menus to call trend or control charts by parametric URLs. Applying that to SETDS reports the boxes (tiles) size could be EV (By the way, the EV usage for dash-boarding was already discussed in other post HERE)

The Tableau tool is getting more and more popular and there is away to build the self-configurable tree-maps and that looks better than SAS ones. Example: 

Another popular way to build tree-maps now is D3.js JavaScript library. See the code sample here and the result is below: 







Wednesday, January 29, 2014

MXG against NMON to process AIX performance data

In my last www.CMG.org paper "AIX frame and LPAR level Capacity Planning. User Case for Online Banking Application" I have demonstrated how to analyze AIX server based application performance by exceptions (including IT-Control charting).  

But what type of server performance data I used for that? NMON data. And how to process that data? I would recommenced to use SAS and MXG -  that is the way,  if you are lucky to have access to SAS and MXG tools ...

Below are a few hints for readers who want to try to set up MXG to process NMON data.

How to set up and run MXG against AIX nmon data is documented in the following useful ppt document http://mxg.com/downloads/chuck/mxgtoolmagic.ppt that has ASCII installation and tailoring instructions starting from page 16.

-        There is also install.sas document inside of MXM package .../mxg/sourclib that has the following instructions regarding ascii installation:

"****************************************************************
    For ASCII Execution:

    Instead of JCL Procs, it is the AUTOEXEC.SAS file that conrols and
    sets up the MXG environment.  You will need to copy and EDIT the MXG
    example autoexec for the directory names, etc., for your platform
       AUTOEXEC  -   SAS - Windows
       AUTOEXEU  -   SAS - Unix
       AUTOEXEW  -   WPS - All ASCII
    into the your SAS root directory, if all users are MXG users, or you
    can add the -autoexec option to the start-up icon, or in batch, use
      sas -autoexec 'c:\mxg\userid\autoexec.sas' ...

************************************************************************"
When the MXG environment is set up properly, to run MXG against NMON data and creating PDBs with nmon data one needs to do just following steps:

-    - Submit FILENAME NMONIN  "*.nmon";  * to provide the path to raw nmon log file;
-    - Submit TYPENMON macro:

%INCLUDE SOURCLIB(VMACNMON,IMACKEEP);
DATA
_VARNMON
_CDENMON
_SNMON

To prove/test that I have:
 
-         -  copied MXG folder (could be downloaded from MXG) to my laptop folder to C:\MXG\sourclib;
-          - created a few new folders like C:\MXG\PDB  (see p. 17 ) ;
-          - modified a bit and submitted  the autoexec.sas (I have added there the nmon log to process - “FILENAME NMONIN   "C:\MXG\DATA\aprcmix1_131212_0000.nmon" LRECL=32000;”
-         -  submitted  C:\MXG\sourclib\formats macro to rebuild formats library ;
-          - submitted the main macro C:\MXG\sourclib\typenmon  to process “C:\MXG\DATA\prix1.nmon” and build PDB with nmon SAS datasets in C:\MXG\PDB ;
-          - checked the resulted PDBs in C:\MXG\PDB. 


Last thing is to use SAS /IML with R to build control charts (HERE hints how to do that) or if you have SAS/Graph - HERE is how to use that.

Good luck! And put you questions to comments!


Friday, January 24, 2014

R script to run in SAS: one more way to built IT-Control Chart

Sure SAS and SAS/GRAPH is good to plot (control) charts. See example here, But if you are a R lover you can also submit R script in SAS to do any analysis or charting you want. How?

SAS 9.3 can be used to run R scripts and packages within SAS/IML proc. To do that the following needs to be done:


1. Check if your SAS instance support R language. Just submit "proc options option=RLANG; run;" and check the sas log. If that is not supported, do next:
2. Add the following line at the end of the config file:
  C:\Program Files (x86)\SASHome\SASFoundation\9.3\nls\en\sasv9.cfg

-RLANG

3. Install  R-2.15.3 for Windows (32/64 bit) (note the R version 3 is not supported by SAS at this point)
4. Insert R-script to the following SAS/IML script:   
         proc iml;
          submit / R;
..... your R scrpt is here ....
        endsubmit;

5. Some simple test R-scripts samples to run in SAS is  below:
proc iml;
/* Comparison of matrix operations in IML and R */
print "----------  SAS/IML Results  -----------------";
x = 1:3;                                 /* vector of sequence 1,2,3 */
m = {1 2 3, 4 5 6, 7 8 9};               /* 3 x 3 matrix */
q = m * t(x);                            /* matrix multiplication */
print q;
print "-------------  R Results  --------------------";
submit / R;
  rx <- 1:3="" 1="" matrix="" nrow="1)            " of="" sequence="" span="" vector="">
  rm <- 1:9="" 3="" byrow="TRUE)" matrix="" nrow="3," span="" x="">
  rq <- matrix="" multiplication="" nbsp="" rm="" rx="" span="" t="">
  print(rq)
endsubmit;

More complex example:   Call R Packages from PROC IML

And finally my own script to build IT-Control Chart against CSV data is following:
proc iml;
submit / R;
## R script to plot IT-chart against CSV data - Igor Trubin 2009
cchrt <- appsdata.csv="" header="T," ocuments="" read.table="" sep="," sers="" span="" workshop="">
plot    (cchrt[,1],cchrt[,2],type="l",col="black",ylim=c(0,0.15),lwd=1.6,ann=F)
points (cchrt[,1],cchrt[,3],type="l",col="red",   ylim=c(0,0.15),lwd=1,ann=F)
points (cchrt[,1],cchrt[,4],type="l",col="green",ylim=c(0,0.15),lwd=1,ann=F)
points (cchrt[,1],cchrt[,5],type="l",col="blue", ylim=c(0,0.15),lwd=1,ann=F)
points (cchrt[,1],cchrt[,6],type="l",col="MAGENTA", ylim=c(0,0.1),lwd=1,ann=F)
mtext("I/O Time/Thrd",   side=2, line=3.0)
mtext("hours of week",   side=1, line=3.0)
mtext("IT-CHART",        side=3, line=1.0)
legend(10,0.16,c("Actual","UpperLimit","Mean","LowerLimit"),
          col=c("black","red","green","blue"),lwd=c(.2,.1,.1,.1),bty="n")
endsubmit;


The code is similar to the one I published in my other post here. And below is the result:

Monday, December 30, 2013

"Review of IT Control Chart" - my new paper in Journal of Emerging Trends in Computing and Information Sciences

Try building IT-Control Charts by free Perfomalist.com web tool:

Full Textat RG
AuthorIgor Trubin
ISSN2079-8407
On Pages857-868
Volume No.4
Issue No.11
Issue DateDecember 01, 2013
Publishing DateDecember 01, 2013
KeywordsControl Chart, Six Sigma Tools, SPC


Abstract

The Control Chart is one of the main Six Sigma tools to optimize business processes. After some adjustments it is used now as visualization tool in IT Capacity Management especially in “behavior learning” products to underline performance and capacity usage anomalies. This review answers the following questions. What is the Control Chart and how to read it and where to use? Review of some performance tools that uses it. Control chart types: MASF charts vs. classical SPC; introduction to IT-Control Chart for IT application performance control. How to build a Control Chart using Excel for interactive analysis and R scripting to do it automatically?


Friday, December 20, 2013

I can be seen at G+,t,f,in,VK,YouTube and finely at Researchgate!

I like to be seen. I am here in Blogger and also you can see me at:
- Google+
- Twitter,
- Facebook,
- LinkedIn,
- VKontakte
- YouTube

and finally I have found where my research writings could be seen in particularly:
- ResearchGate

I am welcome you to join, subscribe and follow!

BTW there are a much more there:
...
I need to consider to be there too.... If you are already somewhere where I am not - INVITE!

Friday, December 13, 2013

CMG’13 paper about VMware memory over-commitment, Memory State performance counter, Ballooning, Swapping and Memory Reservations. A few citations.

 I have attended the “ Performance Management in the Virtual Data Center: Virtual Memory Management “  Mark’s B. Friedman presentation and learned a lot. I would like to share here a few most informative (by my opinion) citations from Mark’s paper about

-        Memory over-commitment, 
-        Memory State performance counter,
-        Ballooning, Swapping and
-        Memory Reservations.

Introduction.
“…This paper explores the strategies that VMware ESX employs to manage machine memory, focusing on the ones that are designed to support aggressive consolidation of virtual machine guests on server hardware..”

Memory over-commitment
“…Allowing applications to collectively commit more virtual memory pages than are actually present in physical memory, but biasing the contents of physical memory based on current usage patterns, permits operating systems that support virtual memory addressing to utilize physical memory resources very effectively…”

Memory State performance counter
“…VMware’s current level of physical memory contention is encapsulated in a performance counter called Memory State. This Memory State variable is set based on the amount of Free memory available. Memory state transitions trigger the reclamation actions reported in Table 1:

State
Value
Free Memory Threshold
Reclamation Action
High
0
> 6%
None
Soft
1
< 6%
Ballooning
Hard
2
< 4%
Swapping to Disk or Pages compressed
Low
3
<2 span="">
Blocks execution of active VMs > target allocations
..”

Ballooning
“…ballooning occurs when the VMware Host recognizes that there is a shortage of machine memory and must be replenished using page replacement. Since VMware has only limited knowledge of current page access patterns, it is not in a position to implement an optimal LRU page replacement strategy. Ballooning attempts to shift responsibility for page replacement to the guest machine OS, which presumably can implement a more optimal page replacement strategy than the VMware hypervisor.
…  Using ballooning, VMware reduces the amount of physical memory available for internal use within the guest machine.

In Windows, when VMware’s vmmemsty.sys balloon driver inflates, it allocates physical memory pages and pins them in physical memory until explicitly released. To determine how effective ballooning works to relieve a shortage of machine memory condition, it is useful to drill into the guest machine performance counters and look for signs of increased demand paging and other indicators of memory contention….

…ballooning successfully transforms the external contention for machine memory that the VMware Host detects into contention for physical memory that the Windows guest machine needs to manage internally...”

Swapping
“… VMware has recourse to steal physical memory pages granted to a guest OS at random, which VMware terms swapping, to relieve a serious shortage of machine memory. When free machine memory drops below a 4% threshold, swapping is triggered..”

Memory Reservations.

“In VMware, customers do have the ability to prioritize guest machines so that all tenants sharing an over-committed virtualization Host machine are not penalized equally when there is a resource shortage. The most effective way to protect a critical guest machine from being subjected to ballooning and swapping due to a co-resident guest is to set up a machine memory Reservation. A machine memory Reservation establishes a floor guaranteeing that a certain amount of machine memory is always granted to the guest. With a Reservation value set, VMware will not subject a guest machine to ballooning or swapping that will result in the machine memory granted to the guest falling below that minimum…”

Wednesday, November 20, 2013

MSDN Blog post: "Statistical Process Control Techniques in Performance Monitoring and Alerting" by M. Friedman

I met  again at CMG'13 and also attended his session (will put my impressions later).

Mark is my teacher, and I respect him very much. Ones I have attended his Windows Capacity Management class in Chicago. I always try to go to his presentations, to read his books and to see his online activities. Just today, checking his activities online I ran into his 2010 post in MSDN Blog that relates to my (this) blog very much:

MSDN Blogs > Developer Division Performance Engineering blog > Statistical Process Control Techniques in Performance Monitoring and Alerting

I very appreciate he mentioned my blog and my name (with a little misprint...):

".... a pointer to Igor Trobin's work, which I believe is very complementary. Igor writes an interesting blog called “System Management by Exception.” In addition, Jeff Buzen and Annie Shum published a very influential paper on this subject called “MASF: Multivariate Adaptive Statistical Filtering” back in 1995. (Igor’s papers on the subject and the original Buzen and Shum paper are all available at www.cmg.org.)... "

This Mark's post was a response on Charles Loboz CMG paper critique made by Uriel Carrasquilla, Microsoft performance analyst. I attended that presentation and had some doubts too which I expressed during the presentation. BTW I have commented another Charles's CMG paper in my blog:  Quantifying Imbalance in Computer Systems: CMG'11 Trip Report. My opinion is this CMG'11 paper was much better!
(Normalized Imbalance Coefficient, from the paper)

BTW I have also made comments on Mark Friedman CMG'08 paper: Mainstream NUMA and the TCP/IP stack. His presentation was as usual very influential! See details in my CMG'08 Trip Report

And I am about to comment his CMG'13 presentation. Check the next post!

CMG’13 workshops: "Application Profiling: Telling a story with your data"

The subject was introduced by R. Gilmarc (CA) in his CMG’11 paper: IT/EV-Charts as an Application Signature: CMG'11 Trip Report, Part 1 This time he has shown us some additional development of the idea. Such as “BIFR”:

“What is in our Application Profile?
• Workload – description of transaction arrival pattern
• Infrastructure – subset of infrastructure supporting our application
• Flow – server-to-server workflow
• Resource – CPU and I/O consumed per transaction at each server


Why is an Application Profile useful?
• Prerequisite for application performance analysis and capacity planning
• Directs & focuses application performance tuning efforts
• Building block for data center capacity planning
• Serves as input to a model”

Some modeling approaches were included into Application Profile idea (e.g. CPU% vs. Business transactions) plus the flow is presented as a diagram from HyPerformix tool that is now CA tool.
I see the  BIFR profile is suitable for a predictive model  to run on Performance Optimizer part of HyPerformix.

Also interesting  is the attempt to use BIFR for virtual servers (LPARs) consolidation that includes TPP – Total Processing Power benchmarks. Most interesting is the usage of “Composite Resource Usage Index”  to Identify LPARs that have high
resource usage across all 3 ones: TPP Percent,  I/O Percent and  Memory Percent. Looks like it allows to combine  LPARS optimally on different physical hosts in a ”tetris” way.

I appreciate he mentioned my name in the slides (at the “related work” section) and during his presentation there was some discussion about IT Control Charts. I still believe that IT-Control chart without actual data plotted (see below a copy from my old post) and built for main server resources usage (CPU, memory and I/Os) plus for main business transactions and response time (the same IT-control charts should be built for that – I published couple examples in my other papers) could be a perfect representation of any applications and also can be treated as an application profile!  


For consolidation or workload placement exercises they can be condensed to a few numbers per application, for instance, maximum of weekly upper limits for each chart. Those numbers could be treated as application profile parameters and then used for placing/moving (in a cloud) purposes, for example to be analyzed by some statistical clustering algorithms. By the way, other Cloud management tools already do similar profiling for this. (CiRBA) 

Another interesting idea which also was presented in the workshop is “Application invariants”. I may discuss that in my another post…