Posts Tagged 'Solution'

August 21, 2012

High Performance Computing - GPU v. CPU

Sometimes, technical conversations can sound like people are just making up tech-sounding words and acronyms: "If you want HPC to handle Gigaflops of computational operations, you probably need to supplement your server's CPU and RAM with a GPU or two." It's like hearing a shady auto mechanic talk about replacing gaskets on double overhead flange valves or hearing Chris Farley (in Tommy Boy) explain that he was "just checking the specs on the endline for the rotary girder" ... You don't know exactly what they're talking about, but you're pretty sure they're lying.

When we talk about high performance computing (HPC), a natural tendency is to go straight into technical specifications and acronyms, but that makes the learning curve steeper for people who are trying to understand why a solution is better suited for certain types of workloads than technology they are already familiar with. With that in mind, I thought I'd share a quick explanation of graphics processing units (GPUs) in the context of central processing units (CPUs).

The first thing that usually confuses people about GPUs is the name: "Why do I need a graphics processing unit on a server? I don't need to render the visual textures from Crysis on my database server ... A GPU is not going to benefit me." It's true that you don't need cutting-edge graphics on your server, but a GPU's power isn't limited to "graphics" operations. The "graphics" part of the name reflects the original intention for kind of processing GPUs perform, but in the last ten years or so, developers and engineers have come to adapt the processing power for more general-purpose computing power.

GPUs were designed in a highly parallel structure that allows large blocks of data to be processed at one time — similar computations are being made on data at the same time (rather than in order). If you assigned the task of rendering a 3D environment to a CPU, it would slow to a crawl — it handles requests more linearly. Because GPUs are better at performing repetitive tasks on large blocks of data than CPUs, you start see the benefit of enlisting a GPU in a server environment.

The Folding@home project and bitcoin mining are two of the most visible distributed computing projects that GPUs are accelerating, and they're perfect examples of workloads made exponentially faster with the parallel processing power of graphics processing units. You don't need to be folding protein or completing a blockchain to get the performance benefits, though; if you are taxing your CPUs with repetitive compute tasks, a GPU could make your life a lot easier.

If that still doesn't make sense, I'll turn the floor over to the Mythbusters in a presentation for our friends at NVIDIA:

SoftLayer uses NVIDIA Tesla GPUs in our high performance computing servers, so developers can use "Compute Unified Device Architecture" (CUDA) to easily take advantage of their GPU's capabilities.

Hopefully, this quick rundown is helpful in demystifying the "technobabble" about GPUs and HPC ... As a quick test, see if this sentence makes more sense now than it did when you started this blog: "If you want HPC to handle Gigaflops of computational operations, you probably need to supplement your server's CPU and RAM with a GPU or two."

-Phil

October 26, 2011

MODX: Tech Partner Spotlight

This is a guest blog from the MODX team. MODX offers an intuitive, feature-rich, open source content management platform that can easily integrate with other applications as the heart of your Customer Experience Management solution.

Company Website: http://modx.com/
Tech Partners Marketplace: http://www.softlayer.com/marketplace/modx

Free your Website with MODX CMS

Just having a website or a blog is no longer a viable online strategy for smart businesses. Today's interconnected world requires engaging customers — from the first impression, to developing leads, educating, selling, empowering customer service and beyond. This key shift in online interaction is known as Customer Experience Management, or CXM.

For businesses to have success with CXM, they need an efficient way to connect all facets of their communications and information together with a modern and consistent look and feel, and without long learning curves or frustrating user experiences. You don't want a Content Management System (CMS) that restricts your ability to meet brand standards, that lives in isolation from your other systems and data, or that fails to fulfil your businesses needs.

MODX is a content management platform that gives you the creative freedom to build custom websites limited only by your imagination. It certainly can play the central role in managing your customer experience.

Freedom from Hassle & Frustration
The most productive tools are those that simply allow you get your work done. To make life easy for content editors MODX uses familiar concepts like a hierarchical tree – similar to the folders and files on your computer. This allows content editors to relate their content to the overall website structure. But, like everything else in MODX, you aren't limited to hierarchical content and can easily employ taxonomy-, list- or category-based structures.

Similarly, editing documents should be easy. With MODX, anyone who can open a web browser and send email has the skillset to create and edit content in MODX. Most tasks are a matter of filling out simple form fields into which content is placed and is accompanied by a sensible MS Word-like editor for your main content. Furthermore, site builders and developers are able to create custom fields for custom content types and custom data allowing non-technical employees to work in an intuitive, tailored environment.

Total Creative Freedom
Your website is one of the most visible parts of your brand and you certainly don't want it limited by your CMS. MODX makes it possible to do anything that's on the modern web now — you don't have to wait for a year or hack the core to launch an HTML5 or mobile optimized site. MODX can do it all now, and even what's coming next. It outputs exactly and only what you or your site builder dictate.

MODX uses a brilliantly simple template engine that allows web designers to work with what they already know, like HTML, CSS and any JavaScript library they chose. MODX can even output things not typically associated with most content management platforms like XML, JSON or even Comma Separated Value (CSV) files that automatically download to your desktop.

Freedom to Extend
MODX provides all the requisite tools for CMS, but it also functions as a fully capable web development platform upon which you can extend functionality, employ custom applications and do just about anything you can dream up. In fact, the "X" in MODX comes from the word "extensible". Whether you want to build a Member-only website, Client Extranet, Resort Booking and Reservations system or private Social Network, you can do it on MODX.

For developers the fully-documented Object Oriented API and xPDO, MODXs database layer, provide all you need to build almost anything with MODX, even extending or overriding its core functionality. Critically, you can do all this using the API and retain a painless upgrade path without hacking the core. The MODX API architecture provides all the flexibility you or your developer might need to make MODX your own without painting your self into a corner.

Freedom from Bottlenecks
Modern web pages are made up of many component parts – site-wide headers and footers, navigation menus, articles, products and more. At some point, all these pieces need to be put together and delivered to the visitor as a single page that users expect to load quickly or they'll leave your site.

To deliver pages fast, top-performing sites use server-side caching to take all those pieces and pre-process them for fast delivery to a browser. The problem with many CMS applications is that they manually rebuild pages every single time someone visits your site. That's fine if you only have a few visitors, but your site can bog down or even fail under moderate traffic. In these circumstances, it would be disastrous if your website is featured on an industry magazine or website, national media or on a popular TV show. Your site could literally grind to a halt, costing you customers, damaging your reputation and ultimately making a bad first impression.

MODX's native page caching delivers your site quickly by default. Additionally, MODX can use high-end caching like memcache to further improve performance under load. To handle millions of pageviews daily, you need robust servers and you need to optimize your environment ... That's where scaling across multiple servers and replication with SoftLayer works perfectly with MODX.

Free Your Legacy Systems
Keeping your data, content and business information in disconnected silos is ineffective and costly. Accessing existing systems, like an Active Directory or Enterprise Content repository, makes huge difference in getting your work done headache-free. You don't have to worry about data duplication across systems, significant extra work to make everything work or synchronization issues. A new website platform should increase your productivity and enable your employees, customers and everyone else surrounding your business to find what they need and to interact efficiently and effectively.

MODX works with the tools and technology that organizations already have in place. It can easily interact with external web services or data feeds and can drive other applications via RESTful web services.

Security and Freedom to Rest Easy
Website Security is a topic that rarely surfaces during the early stages of a web project and often never comes up until your site has been compromised.

A high-quality hosting environment like those from SoftLayer are the foundation of website security. Your web CMS and its add-ons, plugin-ins or modules should not be a liability. MODX is designed with security at its core to protect your valuable website from malicious attacks. Every input is filtered, and every database query using the API eliminates the possibility of SQL injection compromises. Most importantly, the development team rigorously and continuously audits MODX to make sure its up to date and patching any new issues that may arise.

Freedom in the Community
With MODX and the MODX Community you're not alone. There are hundreds of thousands of websites built on MODX and we have a friendly, active and growing community of raving fans over 37,000 strong to whom you can look for assistance, support, education and camaraderie.

In fact, the MODX Community is one of our greatest assets.

They provide mentorship, assistance and help make MODX software better through active reporting of issues and feature requests and contributing improvements for integration by the core team.

If you're not a site builder or developer, but you want your website powered by MODX, one of the best places to start is with a MODX Solution Partner. Our network of 90+ global Solution Partners enables you to get the right-fit expertise for your project and in many cases work locally. Solution Partners are experts at MODX and know how to do things right.

Get Free
There really is a cure for the all too often restrictive, unintuitive and frustrating experience of putting content on the web. Get on the road to content management freedom with MODX. It's easy to start since MODX Revolution itself is free to download and use.

Learn more at http://modx.com/.

-Jay Gilmore, MODX

This guest blog series highlights companies in SoftLayer's Technology Partners Marketplace.
These Partners have built their businesses on the SoftLayer Platform, and we're excited for them to tell their stories. New Partners will be added to the Marketplace each month, so stay tuned for many more come.
October 18, 2011

Adding 'Moore' Storage Solutions

In 1965, Intel co-founder Gordon Moore observed an interesting trend:"The complexity for minimum component costs has increased at a rate of roughly a factor of two per year ... Certainly over the short term this rate can be expected to continue, if not to increase."

Moore was initially noting the number of transistors that can be placed on an integrated circuit at a relatively constant minimal cost. Because that measure has proven so representative of the progress of our technological manufacturing abilities, "Moore's Law" has become a cornerstone in discussions of pricing, capacity and speed of almost anything in the computer realm. You've probably heard the law used generically to refer to the constant improvements in technology: In two years, you can purchase twice as much capacity, speed, bandwidth or any other easily-measureable and relevant technology metric for the price you would pay today and for the current levels of production.

Think back to your first computer. How much storage capacity did it have? You were excited to be counting in bytes and kilobytes ... "Look at all this space!" A few years later, you heard about people at NASA using "gigabytes" of space, and you were dumbfounded. Fastforward a few more years, and you wonder how long your 32GB flash drive will last before you need to upgrade the capacity.

32GB Thumb Drive

As manufacturers have found ways to build bigger and faster drives, users have found ways to fill them up. As a result of this behavior, we generally go from "being able to use" a certain capacity to "needing to use" that capacity. From a hosting provider perspective, we've seen the same trend from our customers ... We'll introduce new high-capacity hard drives, and within weeks, we're getting calls about when we can double it. That's why we're always on the lookout for opportunities to incorporate product offerings that meet and (at least temporarily) exceed our customers' needs.

Today, we announced Quantastor Storage Servers, dedicated mass storage appliances with exceptional cost-effectiveness, control and scalability. Built on SoftLayer Mass Storage dedicated servers with the OS NEXUS QuantaStor Storage Appliance OS, the solution supports up to 48TB of data with the perfect combination of performance economics, scalability and manageability. To give you a frame of reference, this is 48TB worth of hard drives:

48TB

If you've been looking for a fantastic, high-capacity storage solution, you should give our QuantaStor offering a spin. The SAN (iSCSI) + NAS (NFS) storage system delivers advanced storage features including, thin-provisioning, and remote-replication. These capabilities make it ideally suited for a broad set of applications including VM application deployments, virtual desktops, as well as web and application servers. From what I've seen, it's at the top of the game right now, and it looks like it's a perfect option for long-term reliability and scalability.

-@nday91

October 4, 2011

An Introduction to Redis

I recently had the opportunity to get re-acquainted with Redis while evaluating solutions for a project on the Product Innovation team here at SoftLayer. I'd actually played with it a couple of times before, but this time it "clicked." Or my brain broke. Either way, I see a lot of potential for Redis now.

No one product is a perfect fit for all of your data storage needs, of course. There are such fundamental tradeoffs to be made in designing storage architectures that you should be immediately suspicious of any product that claims to fit every need.

The best solutions tend to be products that actually embrace these tradeoffs. Redis, for instance, has sacrificed a small amount of data durability in exchange for being awesome.

What is it?

Redis is a key/value store, but describing it that way is sort of like calling a helicopter a "vehicle." It's a technically correct description, but it leaves out some important stuff.

You can think of it like a sophisticated older brother of Memcached. It presents a flat keyspace, and you can set those keys to string values. Another feature of Memcached is the ability to perform remote atomic operations, like "incr" and "append." These are really handy, because you have the ability to modify remote data without fetching, and you have an assurance that you're the only one performing that operation at that instant.

Redis takes this concept of remote commands on data and goes completely nuts with it. The database is aware of data structures like hashes, lists and sets in addition to simple string values. You can sort, union, intersect, slice and dice to your heart's content without fetching any data. Redis is a data structure server. You can treat it like remote memory, and this has an awesome immediate benefit for a programmer: your code and brain are already optimized for these data types.

But it's not just about making storage simpler. It's fast, too. Crazy fast. If you make intelligent use of its data structures, it's possible to serve a lot of traffic from relatively modest hardware. Redis 2.4 can easily handle ~50k list appends a second on my notebook. With batching, it can append 2 million items to a list on a remote host in about 1.28 seconds.

It allows the remote, atomic and performant manipulation of data structures. It took me a little while to realize exactly how useful that is.

What's wrong with it?

Nothing. Move along.

OK, it's a little short on durability. Redis uses memory as its primary store and periodically flushes to disk. A common configuration is to do so every second.

That sounds pretty reasonable. If a server goes down, you could lose a second of data. Keep in mind, however, how many operations Redis can perform in a second. If you're in a high-volume environment, that could be a lot of data. It's not for your financial transactions.

It also supports relatively limited availability options. Currently, it only supports master/slave replication. Clustering support is planned for an upcoming release. It's looking pretty powerful, but it will take some real-world testing to know its performance impact.

These challenges should be taken into consideration, and it's probably clear if you're in a situation where the current tradeoffs aren't a good fit.

In my experience, a lot of developers seriously overestimate the consequences of their application losing small amounts of data. Also consider whether or not the chance of losing a second (or less) of data genuinely represents a bigger threat to your application than any other compromises you might have made.

More Information
You can check out the slightly aging docs or browse the impressively simple source. There are probably already bindings for your language of choice as well.

-Tim

September 27, 2011

The Challenges of Cloud Security Below 10,000 Feet

This guest blog was contributed by Wendy Nather, Research Director, Enterprise Security Practice at The 451 Group. Her post comes on the heels of the highly anticipated launch of StillSecure's Cloud SMS, and it provides some great context for the importance of security in the cloud. For more information about Cloud SMS, visit www.stillsecure.com and follow the latest updates on StillSecure's blog, The Security Samurai.

If you're a large enterprise, you're in pretty good shape for the cloud: you know what kind of security you want and need, you have security staff who can validate what you're getting from the provider, and you can hold up your end of the deal – since it takes both customer and provider working together to build a complete security program. Most of the security providers out there are building for you, because that's where the money is; and they're eager to work on scaling up to meet the requirements for your big business. If you want custom security clauses in a contract, chances are, you'll get them.

But at the other end of the scale there are the cloud customers I refer to as being "below the security poverty line." These are the small shops (like your doctor's medical practice) that may not have an IT staff at all. These small businesses tend to be very dependent on third party providers, and when it comes to security, they have no way to know what they need. Do they really need DLP, a web application firewall, single sign-on, log management, and all the premium security bells and whistles? Even if you gave them a free appliance or a dedicated firewall VM, they wouldn't know what to do with it or have anyone to run it.

And when a small business has only a couple of servers in a decommissioned restroom*, the provider may be able to move them to their cloud, but it may not be able to scale a security solution down far enough to make it simple to run and cost-effective for either side. This is the great challenge today: to make cloud security both effective and affordable, both above and below 10,000 feet, no matter whether you're flying a jumbo airliner or a Cessna.

-Wendy Nather, The 451 Group

*True story. I had to run some there.

November 20, 2009

The Art of the Apology

I wrote a blog but it got ixnayed by legal. (That should be funny because I am “legal.” At this time I shall choose to remain cryptic, but as God is my witness, I’ll publish that blog someday after X, Y, and Z happens). Now, where was I – ah, yes, a new and different blog.

Today, boys and girls, we shall talk about the art of the apology. Since we were little, we’ve been taught to say “sorry.” (Well, most of us, but maybe not he whose names starts with J and ends in O-N-E-S, but I digress again). “Little Johnny, say sorry to your sister for bonking her on the head.” And Little Johnny will usually say sorry to avoid your wrath, rather than actually being sorry for the head bonking. This is the first lesson in the art of the apology – make sure it is sincere and that you mean it. Otherwise, it is really better if you say nothing at all. Maybe wait until it can become sincere, and if it can never become sincere, go back to step one and don’t say anything at all. The Boy often gets in trouble for head bonkings and other various and sundry misdeeds committed upon The Girl. He gets sent to time-out and then is supposed to apologize to The Girl. More often than not The Boy gets extremely defiant and grunts out a “sor-ry” as belligerently as he can. This only serves to piss The Mommy off and gets The Boy in even more trouble. (Can I use that word?) The takeaway on this is that The Boy needs to say sorry like he means it, or not bother getting out of time-out until he can do so. Another example of an apology that is better left unsaid is the disingenuous-apology-that-is-really-not-an-apology apology. Example: “I’m sorry you are an idiot, but….” Go back to time-out!!

Often a simple, sincere heart-felt apology can go a long way towards diffusing a situation that might otherwise result in hurt feelings, anger, and bitterness or, in my world, lawsuits. Maybe a manager loses his/her cool with an employee in one of the many stressful situations we face on a daily basis. When the manager calms down, an apology may be the cure to a situation that might later spiral out of control and explode. Maybe you have two feuding employees – an apology by one or both parties may be all it takes to turn a situation that may have resulted in a termination or two into one in which the working relationship is restored. This might involve a situation with your co-worker, your friend, your spouse or a client. Many times what happens is that we want to be right, rather than do what’s right. A meaningful apology to a client might save a $30,000/month account, but dad gummit, you are right and the client is wrong and they are an idiot and you are not. All of that may be true, but is it worth it? Is it really, really worth it? Is it worth that account? Is it worth that friendship? Is it worth your job? Is it worth that marriage?

Here, let me practice: “Mike, I am sorry you are mean and that I implied your upbringing was nothing less than stellar…..” Alright, alright – I’ll keep practicing.

*Note: This blog was inspired by the esteemed labor and employment lawyer Michael Maslanka and one of his recent blogs at http://texaslawyer.typepad.com/work_matters/2009/10/rudeness-and-resulting-resentment-can-foster-cheating.html, which I forwarded to our managers for their digestion.

I deeply and sincerely apologize in advance for any copyright infringement or any other legal no-no’s in my blog.

Categories: 
Subscribe to solution